0

我正在使用适合我的 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 并再次相同:/

4

1 回答 1

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"],
              }
          }
      )

因此,如果您有类似的问题,只需将那些“缺失”的模块放入此“排除”行。

第二部分:

在我成功制作可执行文件后,我遇到了下一个问题:应用程序已请求运行时以异常方式终止它。请联系...。经过几天和几天的搜索和思考如何解决另一个问题,我找到了一种方法。我无法相信这个问题是如此荒谬。问题出在我的代码中,字体定义:

font1 = pygame.font.SysFont(None, 13)

在将“ None ”更改为某个系统字体名称(例如“Arial”(必须是字符串))并编译后,我不敢相信我的 .exe 文件能正常工作!

font1 = pygame.font.SysFont("Arial", 13)

当然,您可以使用自己的字体,但您必须指定它的路径并在您的程序中定义它。

因此,对于所有遇到此问题的人,请尝试此步骤,希望您能成功。我真的希望这会对您有所帮助,因为我已经浪费了几天和几周的时间来尝试解决这些问题。我什至尝试使用所有版本的 python 和 pygame 以及许多其他 .exe 构建器和设置脚本来制作我的 .exe 文件,但没有运气。除了这些问题,我之前也遇到过很多其他问题,但我在 stackoverflow.com 上找到了答案。

我很高兴我找到了解决这些问题的方法,并在您遇到相同问题时为您提供帮助。

小技巧(我也做过):

第一:将您的 Microsoft Visual C++ 库更新到最新版本。

第二:如果您有可执行程序所需的类似图像或字体,请将它们包含到dist文件夹(您的 .exe 文件已在其中创建)。

第三:当你制作你的 .exe 文件时,将所有需要的文件包含到你的 setup.py 脚本所在的文件夹中(你的主脚本使用的所有文件和目录)。

使用Python 2.7 x64pygamepy2exe

于 2013-03-04T18:27:43.317 回答