【问题标题】:Pyinstaller - failed to execute script: why?Pyinstaller - 无法执行脚本:为什么?
【发布时间】:2021-05-03 15:33:21
【问题描述】:
Fatal Error Detected: Failed to execute script main

我使用了以下标签:

pyinstaller --onefile -w main.py

我有依赖关系,所以当它完成后,我将 exe 文件移动到主目录。我仍然收到错误消息。我在我的项目中使用了 pygame。为什么?

【问题讨论】:

  • 我们需要 main.py 中的示例代码来重现错误!你试过简单的print("Hello World!")吗?
  • 需要查看 main.py 中的库和其他依赖项。还请分享完整的错误跟踪日志。
  • 我使用了 pygame、time、pickle、random 和其他 3 个 python 文件。我将这些文件放在一个目录中,然后放在与我的主文件相同的目录中的另一个目录中。错误是 FileNotFoundError: No such file or directory。
  • 关闭程序时是否出现错误?或者当你刚刚打开它,在任何事情发生之前?
  • @D_00 当我尝试运行 exe 时出现一个消息框。我使用了 --debug all 标记,并且发生了 FileNotFoundError。

标签: python pygame pyinstaller


【解决方案1】:

我找到了问题的答案。事实证明,它与图像无关。它与字体有关。通常,在 PyCharm 中(也许我弄错了) freesansbold.ttf 是默认字体。但是,当 PyInstaller 打包文件时,PyInstaller 默认没有下载字体,所以会报错。我所要做的就是在互联网上搜索字体,下载它,它就可以工作了。

是的,非常有趣的错误。

【讨论】:

    【解决方案2】:

    当您将.py 文件转换为.exe 时,PyInstaller 会显示控制台。如果你的代码有错误,会显示在命令提示符中。

    但是如果你将.pyw文件转换成.exe,则会以消息框的形式返回错误。

    所以,要查看您的错误(虽然确实很快,但总比没有好),只需将您的文件 .py 格式 转换为 .exe,即可查看错误在命令提示符中。


    但是当没有打开任何窗口时,如果脚本开头出现错误,PyInstaller 不会检测到它已启动,因此不会显示错误。

    例如这个程序可以工作,即使代码中有错误:

    avkzebhrkjvzebverybvzkejhrv
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-03
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 2021-02-14
      • 2017-02-25
      相关资源
      最近更新 更多