python - PyInstaller .exe 文件不工作

标签 python pygame pyinstaller

编辑: 我发现错误是无法打开资源。将目录复制到 .exe 所在的文件夹并没有修复它。我尝试从 .spec 文件中删除资源,.exe 文件的大小现在为 9 MB,而不是 52 MB,因此我很确定资源已包含在内,但不知何故它们似乎无法被打开。EXE文件。万一有什么问题,This是我的 .spec 文件 - 我只修改了树的东西以包括资源、.exe 文件名和图标。

换句话说,现在的问题是:为什么exe找不到我的游戏资源,我该怎么做才能解决?另外,我意识到我的资源文件夹有两个子文件夹 - 这是否意味着我必须以不同的方式编写树?

我已经用 Python 制作了一个游戏(也使用 Pygame)并且想要制作一个可执行文件以便我可以分发它。 PyInstaller 似乎非常适合,最终,经过一段时间的搜索,我在 this guide 中找到了如何让它工作的方法。 .在调整我的代码以使第 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 位程序到目前为止都运行良好)

最佳答案

尝试打开命令提示符并将 exe 拖入其中并按回车键,这样您将捕获错误(如果有的话),然后更新您的问题,更多信息 == 更多帮助。

我从未使用过 pyinstaller,所以在这方面我帮不了你。

另外,我建议您尝试使用 py2exe,它与 pygame 配合得很好(至少对我而言),稍后您可以使用 NSIS 或 Inno 进行设置。

编辑:

如果 .exe 不能永久保存高分(正如您在下面的评论中所说),请尝试以管理员身份运行 exe,这可能只是写入权限的问题,或者可能是您的防病毒软件不允许它写入(Avast 的沙箱,诺顿的未知/稀有文件)。

关于python - PyInstaller .exe 文件不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27486794/

相关文章:

python - Pygame 不会将图像传输到 Canvas 上

python - 如何在 conda 中安装 anaconda 中不可用的软件包

python - Django:设置项目时出错

python - 将此函数绘制为累积分布图

pygame中的python点击事件范围问题

python - 我在哪里可以找到并安装 pygame 的依赖项?

python-3.x - 如何通过使用 pycryptodome 的 pyinstaller 构建可执行文件?

python - 如何从编译的 .exe 文件将帮助打印到终端窗口?

python - pygame不画线

python - PyQt Bloat 和 Pyinstaller