使用py2exe生成exe后raw_input引发EOFError

6 投票
1 回答
5148 浏览
提问于 2025-04-16 07:37

在用 py2exe 把一个脚本变成可执行文件(exe)之后,使用 raw_input() 时出现了 EOFError 错误。

我该怎么避免这个问题呢?

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

1 个回答

4
>>> 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里使用“console”这个选项,这样你的exe文件就会打开一个控制台窗口,让raw_input可以正常工作。

撰写回答