降落伞分割故障错误 - pygame 到 py2exe



我正在使用GUI2Exe将我的python/pygame,游戏编译为.exe

我的字体模块有问题。

使用 python 2.7 和 GUI2Exe 中的 py2exe 选项我已经用2.7版本更新了python,pygame和py2exe。我的程序运行良好,但是在我使用 py2exe 编译它后,我得到了这个。

这是我得到的错误:

Fatal Python error: (pygame parachute) Segmentation Fault
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

我的游戏一开始是作为控制台,然后运行该部分。但是一旦显示开始,我就会崩溃。

谢谢

有类似的问题,也有那个问题。找到了解决它们的方法:

几周后(甚至之前就有这个问题),我很高兴地说我解决了这个问题! :)

我问题的第一部分(https://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视觉C++库更新到最新版本。

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

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

使用Python 2.7 x64,pygamepy2exe

不要使用 gui2exe 从以下链接使用此文件:http://pygame.org/wiki/Pygame2exe

按照说明操作并根据需要修改文件。将文件放在与"游戏"主目录相同的目录中,并从控制台运行该文件。

最新更新