我正在使用适合我的Python版本的Python 2.4和py2exe版本。我想要生成可执行文件的文件位于与其setup.py文件相同的目录中的Python 2.4文件夹中。
当我运行脚本(在cmd中)c:\Python24\python.exe setup.py py2exe
时,我在cmd中收到大量文本,并且错误就像您在图片中看到的那样。模块丢失,文件无法转换为可执行文件。我已经有很长一段时间遇到这个问题了,我不知道如何解决它。我需要让我的程序可执行。
任何想法如何解决这个问题?
编辑:我尝试使用Python,Pygame和Py2exe更新的版本(2.6,2.7,3.2),但它没有用。我总是得到这些错误:S 另外,我已尝试使用cx_Freeze并再次尝试:/
答案 0 :(得分:0)
几周后(甚至在此之前出现此问题)我很高兴地说我解决了这个问题! :)
我的问题的第一部分(http://i.stack.imgur.com/WpkjR.png): 我通过编辑setup.py脚本并在其中添加“排除”部分来解决它。这导致成功制作了可执行文件!
修改了setup.py脚本:
from distutils.core import setup
import py2exe
setup(windows=['source_static.py'], options={
"py2exe": {
"excludes": ["OpenGL.GL", "Numeric", "copyreg", "itertools.imap", "numpy", "pkg_resources", "queue", "winreg", "pygame.SRCALPHA", "pygame.sdlmain_osx"],
}
}
)
因此,如果您遇到类似问题,只需将这些“缺失”模块放入此“排除”行。
第二部分:
在我成功制作可执行文件之后,我遇到了下一个问题:“应用程序已请求Runtime以异常方式终止它。请联系...... ”。经过几天的搜索和思考如何解决这个问题,我找到了一种方法。我简直不敢相信这个问题太荒谬了。问题出在我的代码中,字体定义为:
font1 = pygame.font.SysFont(None, 13)
将“无”更改为某些系统字体名称(例如“Arial”(必须是字符串))和编译后,我无法相信我的.exe文件有效!
font1 = pygame.font.SysFont("Arial", 13)
当然,您可以使用自己的字体,但必须指定其路径并在程序中定义它。
因此,对于遇到此问题的所有人,请尝试以下步骤,我希望您能成功。 我真的希望这会对你有所帮助,因为我已经失去了几天和几周试图解决这些问题。我甚至尝试使用所有版本的python和pygame制作我的.exe文件,以及许多其他.exe构建器和设置脚本,但没有运气。除了这些问题,我之前还有很多其他问题,但我在stackoverflow.com上找到了答案。
我很高兴我找到了解决这些问题的方法,如果你遇到同样的问题,可以帮助你。
小提示(我也做过的事情):
1st:将Microsoft Visual C ++库更新为最新版本。
第二:如果您的图像或字体与您的可执行程序需要的相似,请将它们包含在 dist 文件夹(已创建.exe文件的位置)中。
第三:当您制作.exe文件时,请将所有需要的文件包含在您的setup.py脚本所在的文件夹中(主脚本使用的所有文件和目录)。
使用 Python 2.7 x64 , pygame 和 py2exe 。