【问题标题】:Pyinstaller packaged app crashes on launchPyinstaller 打包的应用程序在启动时崩溃
【发布时间】:2018-05-05 23:06:41
【问题描述】:

我知道这是一个以前在这里被问过很多次的问题,但我真的对这件事束手无策。 我正在学习 Python 3,我决定开发一个基于文本的小游戏。我取得了一些不错的进展,完成了大部分教程,完成了标题卡,编写了一半的保存文件系统等。我决定,嘿,我应该在继续之前尝试看看是否可以打包这个东西(因为在哪里不向朋友展示的乐趣?)。

我之前在一些简单的单文件应用程序(骰子滚轮等)上使用过 Pyinstaller,它运行良好。但是,我在大型游戏中玩得很开心。

当我将它与 Pyinstaller 捆绑在一起时,它会抛出一个 ton 缺失的 lib 错误。我用谷歌搜索了一下,这些显然不是一个大问题。除此之外,一切似乎都运行得很好……直到我开始启动程序。它只是一个在命令行中运行的简单程序,但是当我启动它时它会立即崩溃。

现在,我想这可能与我导入的模块有关(或者程序依赖于从多个 .py 文件调用的事实)。因此,我制作了一个较小的程序,其中包含所有相同的导入和对外部文件的调用,并且该程序可以很好地打包和启动!所以在这一点上,有效的假设是我的代码确实有问题,但我无法终生弄清楚它是什么。

这是程序本身的链接: https://www.dropbox.com/s/ouog4ccbibpibgx/AsciiLand.zip?dl=0

说真的,我整天都在做这件事,而且我的进展完全为零。任何帮助都会非常感谢大家。

【问题讨论】:

  • 这可能有助于查看与崩溃相关的错误。请参阅此答案:stackoverflow.com/questions/49949336/… 如果您自己无法解决错误,请将它们作为编辑添加到您的问题中。

标签: python python-3.x pyinstaller


【解决方案1】:

好像我发现了问题。老实说,这只会引发更多问题,但我现在要接受它。

看起来 Pyinstaller 对 PyFiglet 有一些严重的问题。当我删除 PyFiglet 输出时,一切都编译得很好。我对为什么完全有的想法,但是哦。

对于将来寻找答案的任何人,这里是编译命令。您只需要将 Pyfiglet 字体目录添加到 pyinstaller。

pyinstaller --add-data "C:/Python36/Lib/site-packages/pyfiglet";./pyfiglet --onefile myprogram.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 2016-03-25
    • 2016-09-02
    相关资源
    最近更新 更多