MMM*_*MMM 2 python pygame pyinstaller
编辑:我发现错误是无法打开资源。将目录复制到 .exe 所在的文件夹中并没有修复它。我尝试从 .spec 文件中删除资源,并且 .exe 文件的大小现在是 9 MB 而不是 52 MB,所以我很确定资源已包含在内,但不知何故它们似乎无法被打开。可执行程序。如果有任何问题,这是我的 .spec 文件 - 我只修改了 Tree 内容以包含资源、.exe 文件名和图标。
换句话说,现在的问题是:为什么 exe 找不到我的游戏资源,我该怎么做才能解决这个问题?另外,我意识到我的资源文件夹有两个子文件夹 - 这是否意味着我必须以不同的方式编写树?
我已经用 Python 制作了一个游戏(也使用 Pygame),并且想要制作一个可执行文件以便我可以分发它。PyInstaller 似乎非常适合这个,最终,经过一段时间的搜索,我在本指南中找到了如何让它工作。在我调整代码以使第 2 步工作后,我创建了 .spec 文件,向其中添加了包含资源的目录(如第 5 步,并包括字体文件),将其复制到 .spec 文件所在的同一文件夹中最后我跑了
build.py game.spec
Run Code Online (Sandbox Code Playgroud)
我在它应该在的地方找到了 .exe 文件。但是,当我打开它时,它会在几秒钟后再次关闭,而且我认为就在主菜单出现之前。我不确定它是否再次出现字体错误,因为我确保将它也包含在资源中......
不幸的是,在网络上搜索解决方案根本没有帮助我,特别是因为现在有一半的项目链接已损坏。
如果有人知道这里出了什么问题(或需要更多详细信息),请告诉我。
细节:
Python 版本:2.7.7 32 位
Pygame 版本:1.9.3 32 位
PyInstaller 版本:1.5 32 位
系统:Windows 8.1 64 位(不过到目前为止 32 位程序都运行良好)
尝试打开命令提示符并将 exe 拖入其中并按 Enter,这样您将捕获错误(如果有),然后更新您的问题,更多信息 == 更多帮助。
我从未使用过 pyinstaller,所以我无法真正帮助您。
另外我建议您尝试 py2exe,它与 pygame 配合得很好(至少对我而言),稍后您可以使用 NSIS 或 Inno 进行设置。
如果 .exe 无法永久保存高分(正如您在下面的评论中所说)尝试以管理员身份运行 exe,这可能只是写入权限的问题,或者您的防病毒软件不允许它写入(沙盒在 Avast,在 Norton 的未知/稀有文件)。
我不知道问题是什么,但我确实设法让它工作。我首先使用 pip 安装较新版本的 PyInstaller (2.1),并再次完成相同的步骤,但这次在 Scripts 目录中运行 pyi-makespec 和 pyi-build 而不是 makespec.py 和 build.py,因为这就是我猜新版本有效。起初它仍然会抱怨资源丢失,除非我从 cmd 运行它,但我认为这实际上是因为我忘记了第 5 步(makespec 文件中的树)。由于某种原因,现在 .exe 无法永久保存高分,但除此之外它运行良好。
| 归档时间: |
|
| 查看次数: |
28968 次 |
| 最近记录: |