我有一个简单的程序,我使用pygame导入声音,但它仍然是一个CLI程序。每当我将它编译成exe时,当我尝试运行它时它会给我一个EOFError,它看起来像这样
Traceback (most recent call last):
File "PlanetaryDistanceFromSun.pyw", line 57, in <module>
File "PlanetaryDistanceFromSun.pyw", line 31, in main
File "PlanetaryDistanceFromSun.pyw", line 44, in Planet
EOFError: EOF when reading a line
以下是有问题的代码:raw_input(&#34;距离太阳有多远?&#34;%planet)
我在互联网上做了相当多的搜索,发现了一些事情,说我需要一个控制台参数,但我不明白那是什么。
答案 0 :(得分:0)
从pygame网站看一下这个py2exe example:
它还包含您的问题的解决方案:
这只适用于GUI应用程序,在setup命令中将“windows =”更改为“console =”可以完成这项工作。
相关部分是这个(IIRC):
...
windows = [{
'script': self.script,
'icon_resources': [(0, self.icon_file)],
'copyright': self.copyright
}],
...
您必须将windows
更改为console
。
此外,pygame-user邮件列表上的this thread描述了同样的问题:
我的猜测是你使用py2exe和“windows”参数,这意味着没有打开控制台 - 没有控制台,没有用于raw_input的stdin。您可以在setup.py中使用“console”参数,并且您的exe将打开一个控制台窗口,允许raw_input工作。