修改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"],
}
}
)
所以,如果你有类似的问题,只是把那些“失踪”的模块到这个“不包括”行。
第2部分:
我成功的可执行文件的制作后,我有一个问题:“应用程序已请求运行时终止它以不同寻常的方式,请联系...”。经过几天和几天的搜索和思考如何解决这个问题,我找到了一个办法。我不敢相信这个问题太荒唐了。这个问题在我的代码,与字体定义:
font1 = pygame.font.SysFont(None, 13)
改变“无”一些系统字体的名称(一个例子“宋体”(必须是一个字符串)),并编译之后,我不能不相信我的.exe文件起作用了!
font1 = pygame.font.SysFont("Arial", 13)
当然,您可以使用自己的字体,但必须指定其路径并在程序中定义它的路径。
因此,对于所有遇到此问题的人,请尝试这些步骤,并希望您能成功。 我真的希望这会对你有所帮助,因为我已经花了几天和几周的时间去解决这些问题。我甚至尝试使用所有版本的python和pygame创建我的.exe文件,还有许多其他的.exe构建器和安装脚本,但没有运气。除了这些问题之外,我还遇到过许多其他问题,但我在stackoverflow.com上找到了答案。
我很高兴我找到了一种方法来解决这个问题,并帮助你,如果你面对同样的问题。
小tips(事我也做):
1:更新您的Microsoft Visual C++库到最新版本。
第二种:如果您的图像或字体类似于您的可执行程序需要,请将它们包括到dist文件夹(您的.exe文件已创建的位置)。
第3步:当您制作.exe文件时,将所有需要的文件包含到setup.py脚本所在的文件夹(主脚本使用的所有文件和目录)中。
使用Python 2.7版的x64,pygame的和py2exe。
为什么选择Python 2.4?控制台窗口显示你缺少的东西。 – Blender 2013-03-01 07:54:31
当您在Windows上工作时,一些缺失的框架(Foundation和AppKit)是Mac框架。 – robertklep 2013-03-01 07:55:49
是的,但是如何防止这个错误呢? – lbartolic 2013-03-01 08:00:27