Pyinstaller EXE崩溃开始

时间:2015-12-19 01:03:46

标签: python pygame pyinstaller

所以我不确定这是否是正确的地方,但是我试图将我的Pygame文件转换为更普遍的东西。第一个平台是Windows。在我添加了一些与Glyph库(http://www.pygame.org/project-Glyph-1002-.html

相关的代码之前,它一直很适合我

现在它在开始时崩溃了,我真的不确定为什么。谁能帮我这个?我从来没有做过追溯或任何事情,如果有帮助,请点击我的游戏拉链,我尝试使用--onefile命令执行此操作。

https://www.dropbox.com/sh/5x143gx95f6sy8j/AADsnPZFwdlrVpc1b8G8QcRja?dl=0

我尝试的事情是这样的:添加--hiddenfile = Glyph,检查已创建的警告文件,并通过更改游戏中的行来调试自己,谷歌搜索直到我的手指流血

我无法尝试的事情,因为我找不到足够的信息:回溯,控制台,为什么它不工作,创建一个日志文件,告诉我什么是错的,因为我无法弄清楚。

唯一严重改变的是我的Windows 10更新了,这可能与它为什么不能正常工作有关。我很有信心。

谢谢! - 扎克

1 个答案:

答案 0 :(得分:4)

我已经在Linux上测试了你的游戏,并且在Python解释器中运行时非常有趣。 使用PyInstaller时出错了。由于你没有发布你的错误,我不知道它是否相同。 (-1给你!) 如果您的错误是

Fatal Python error: (pygame parachute) Segmentation Fault

我有一个提示,你在哪里看。 问题在于字体初始化中的glyph.py和editor.py:

FONT = Font(None,8)

这可以初始化默认字体。但它不可用。 如果您一直在使用Google进行Google搜索,则可能会找到thisthis

所以我做的是修改glymph.py和editor.py(制作本地副本并对其进行修改)并将字体加载更改为

FONT = Font('silkscreen.ttf', 8)

您的工作目录中必须提供silkscreen.ttf或任何其他字体。错误消失了。

您可能会根据this hint调整所有路径。

import sys
import os
...
if getattr(sys, 'frozen', False):
    # we are running in a bundle
    basedir = sys._MEIPASS
else:
    # we are running in a normal Python environment
    basedir = '.'

并使用

basedir + os.sep + 'your file name'

在所有来源中。

如果您想让您的游戏在Linux上运行,请将文件Sounds / GBMusic.mp3更改为ogg格式。 不幸的是,我没有设法使背景音乐工作(100%CPU)。所以我已经注释掉了这一行:

pygame.mixer.music.play(-1)

我希望我可以帮助您解决问题,并提供一些进一步发展的提示。

相关问题