编辑:我发现错误在于资源无法打开。将目录复制到.exe所在的文件夹中并没有解决问题。我尝试从.spec文件中移除资源,.exe文件的大小现在为9 MB,而不是52 MB,所以我相信资源已经被包含了,但是某种方式它们似乎无法被.exe打开。如果有任何问题,请参考此处我的.spec文件 - 我只修改了Tree部分来包括资源,.exe文件名和图标。
换句话说,现在的问题是:为什么.exe找不到我的游戏资源,我需要做什么来解决这个问题?还有,我意识到我的资源文件夹有两个子文件夹 - 这是否意味着我必须以不同的方式编写Tree?
我用Python(也使用了Pygame)制作了一个游戏,并希望制作一个单独的可执行文件以便分发。PyInstaller似乎非常适合这个需求,在一段时间的搜索之后,我在这篇指南中找到了如何让它工作的方法。在调整代码以使第2步起作用后,我创建了.spec文件,将包含资源的目录添加到其中(如步骤5中所述,并包括字体文件),将其复制到.spec文件所在的相同文件夹中,最后我运行了命令:
build.py game.spec
我找到了.exe文件,它正位于它应该在的位置。但是当我打开它时,它会在几秒钟后再次关闭,而且我认为这是在主菜单出现之前。我不确定是否再次出现了字体问题,因为我确保将其包含在资源中...
不幸的是,在网上寻找解决方案并没有帮助我,尤其是因为一半的项目链接现在都已经失效。
如果有人知道这里出了什么问题(或需要更多细节),请告诉我。
详细信息:
Python版本:2.7.7 32位
Pygame版本:1.9.3 32位
PyInstaller版本:1.5 32位
系统:Windows 8.1 64位(32位程序目前都运行良好)。