用py2exe创建exe后raw_input导致EOFError


问题内容

从脚本创建exe后py2exe raw_input()导致EOFError。

如何避免这种情况?

 File "test.py", line 143, in main
    raw_input("\nPress ENTER to continue ")
EOFError: EOF when reading a line

问题答案:
>>> help(raw_input)
Help on built-in function raw_input in module __builtin__:

raw_input(...)
    raw_input([prompt]) -> string

    Read a string from standard input.  The trailing newline is stripped.
    If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError.
    On Unix, GNU readline is used if enabled.  The prompt string, if given,
    is printed without a trailing newline before reading.

怎么了?您在键盘上键入什么?

编辑(在此处报告评论):

我的猜测是您将py2exe与“ windows”参数一起使用,这意味着没有打开任何控制台-
没有控制台,就没有标准输入供raw_input使用。您可以改为在setup.py中使用“控制台”参数,并且您的exe文件将打开一个控制台窗口,允许raw_input工作