Pyinstaller EXE 在启动时崩溃
Pyinstaller EXE Crashing Upon Start
所以我不确定这是否是放置它的正确位置,但我正在尝试将我的 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 更新,我确定这可能与它无法正常工作的原因有关。
谢谢!
- 扎克
我已经在 Linux 上测试了您的游戏,并且在 Python 解释器中 运行 时玩得很开心。
我在使用 PyInstaller 时遇到了错误。因为你没有 post 你的错误我不知道它是否相同。 (-1 给你!)
如果你的错误是
Fatal Python error: (pygame parachute) Segmentation Fault
我有一个提示供您查看。
问题出在字体初始化中的glyph.py和editor.py:
FONT = Font(None,8)
初始化默认字体很麻烦。但它不可用。
如果您一直在谷歌搜索,您可能会发现 this or this
所以我所做的是修改 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)
我希望我能帮助你解决问题,并能为进一步的发展提供一些提示。
所以我不确定这是否是放置它的正确位置,但我正在尝试将我的 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 更新,我确定这可能与它无法正常工作的原因有关。
谢谢! - 扎克
我已经在 Linux 上测试了您的游戏,并且在 Python 解释器中 运行 时玩得很开心。 我在使用 PyInstaller 时遇到了错误。因为你没有 post 你的错误我不知道它是否相同。 (-1 给你!) 如果你的错误是
Fatal Python error: (pygame parachute) Segmentation Fault
我有一个提示供您查看。 问题出在字体初始化中的glyph.py和editor.py:
FONT = Font(None,8)
初始化默认字体很麻烦。但它不可用。 如果您一直在谷歌搜索,您可能会发现 this or this
所以我所做的是修改 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)
我希望我能帮助你解决问题,并能为进一步的发展提供一些提示。