编辑:我发现错误是无法打开资源。将目录复制到.exe所在的文件夹并不能解决该问题。我尝试从.spec文件中删除资源,并且.exe文件的大小现在为9 MB,而不是52 MB,因此,我很确定资源已包括在内,但由于某种原因似乎无法打开它们。 。可执行程序。万一有什么问题,这是我的.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位程序都运行良好)
我没有发现问题所在,但确实设法解决了问题。我首先使用pip安装了较新版本的PyInstaller(2.1),然后再次完成相同的步骤,但是这次在Scripts目录中并运行pyi-makespec和pyi-build而不是makespec.py和build.py,因为这就是我猜新版本有效。起初,它仍然会抱怨缺少资源,除非我从cmd运行它,但是我认为这实际上是因为我忘记了步骤5(makespec文件中的Tree)。由于某种原因,.exe不能永久保存高分,但除此之外,它可以正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句