cx_Freeze 将 Python 和 Pygame 文档编译为 .exe 文件时出现奇怪的错误

Posted

技术标签:

【中文标题】cx_Freeze 将 Python 和 Pygame 文档编译为 .exe 文件时出现奇怪的错误【英文标题】:Got a weird error with cx_Freeze compiled Python & Pygame Document as a .exe file 【发布时间】:2016-10-23 01:34:48 【问题描述】:

我正在使用 Python 2.7 和 Pygame 1.9 创建视频游戏。我用 cx_Freeze 4.3.4 编译它。当我运行 .exe 文件时,出现此错误:

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.

我浏览了网络和这个网站,但没有发现任何可以真正帮助我的东西。我正在使用默认的 pygame 字体。所以字体不可能是它。

如果这有帮助,我将其制作为 32 位格式。您可以在下面找到源代码。

可以在here找到Python源代码。

所有资产都可以在here找到。

感谢您的宝贵时间,OrionDark7。

【问题讨论】:

分段错误错误并没有真正为解决 cx_Freeze 问题提供太多见解。您能否准确发布您正在采取哪些步骤来编译您的游戏? 好吧,首先,我创建 setup.py 文件,并添加安装脚本。然后,我在父文件夹中打开一个命令窗口并输入C:\Python27\python setup.py bdist_msi。它编译成功,我完成了 .msi 安装程序文件的下载过程。然后,我转到安装了资产的文件夹并运行它创建的 .exe 文件。然后我得到那个错误。 你能把 setup.py 的内容贴在这里吗?我在问题中链接到的 github 页面上找不到它。问题很可能存在。 当然!你可以找到它here。会不会是 .dat 文件或 .txt 文件导致问题? 算了,确实是字体。 【参考方案1】:

我才发现,确实是字体。而不是:

pygame.font.Font(None, 1)

应该是:

pygame.font.Font("Font Filepath and Filename here", 1)

抱歉,浪费了您的时间。只是想弄清楚。

【讨论】:

很高兴你知道了!你应该继续接受你的回答。 我会的。不过,我还得再等 11 个小时。

以上是关于cx_Freeze 将 Python 和 Pygame 文档编译为 .exe 文件时出现奇怪的错误的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Python 3 的 cx_freeze 将一个项目打包成 8000+ 个文件,而 Python 2 的 cx_freeze 将同一个项目打包成 25 个文件?

Python、cx_freeze 和 Windows 控制台

Python cx_freeze 构建错误

使用 Python 3.2 和 cx_Freeze 创建 Windows 可执行文件

cx_Freeze:主脚本中的 Python 错误。 Python 3.6 + cx_Freeze

Google API 和 cx_Freeze 无法正常工作