【问题标题】:pyinstaller saying 'failed to execute script gui'pyinstaller 说“未能执行脚本 gui”
【发布时间】:2020-09-08 14:31:20
【问题描述】:

我用 tkinter 制作了一个 gui,它从开放的天气 api 获取天气数据并显示在屏幕上。 现在我想把它变成一个.exe。所以我使用 pyinstaller 来做到这一点,它构建到 .exe 没有显示任何问题,但问题是当我尝试在 dist 目录中执行 .exe 时出错。

我曾经按照命令来构建它 - pyinstaller --onefile gui.py

我什至尝试了以下代码 - pyinstaller --onefile -w gui.py 还是没有运气。

编辑: 我还运行了`pyinstaller --onefile -c gui.py',终端窗口打开,然后转储一堆文本,然后关闭。 转储:

Traceback (most recent call last):
  File "gui.py", line 2, in <module>
    import wforcast as forcast
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "c:\users\kakshipth\documents\coding\py\virtualauto\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 493, in exec_module
    exec(bytecode, module.__dict__)
  File "wforcast.py", line 48, in <module>
    save_way('Hyderabad')
  File "wforcast.py", line 33, in save_way
    with open(path_to_json, 'w') as data :
FileNotFoundError: [Errno 2] No such file or directory: 'practice\\coolshitzz\\weather\\data.json'
[1488] Failed to execute script gui

任何帮助表示赞赏, 谢谢

【问题讨论】:

  • 你把exe复制到项目目录了吗?
  • 我想,我不需要将它复制到我的源文件所在的位置。但我还是这样做了,我得到了同样的错误
  • 是的,你需要把它带到源文件所在的地方,否则代码中说的路径是错误的,因此它不会执行,无论如何试试这个代码pyinstaller --onefile -c gui.py并复制到项目中目录并让我知道控制台中出现的错误。
  • 嘿,它有效。问题出在我导入的模块中,我错误地执行了其中一个函数,并且该 def 中的路径是相对的,所以我的程序无法找到它。所以,一旦我删除了 def 调用。它现在完美运行。但是有一个丑陋的终端窗口,上面有标签,有没有办法删除它?

标签: python api user-interface tkinter


【解决方案1】:

这里唯一的问题是,源文件的相对路径变得无效,因此出现错误,所以有两种方法来解决这个问题。

第一种方式: 使用pyinstaller -F -w gui.py 制作一个exe 并将该exe 复制到项目目录或将识别所有相对路径的位置。

第二种方式: 删除对相对路径的调用并使用pyinstaller -F -w gui.py 创建一个exe,现在由于它没有依赖项或相对路径,它应该可以在您的系统上正常工作。

以上两个代码的用途与您之前的代码相同,只是我把它缩短了,以便打字更快。

控制台只是用来识别出现的错误,您可以通过将 -c 替换为 -w 来摆脱控制台,或者按照上述方法使用与之前使用的代码相同的代码。

希望它解决了问题,如果有任何错误或疑问,请告诉我。

干杯

【讨论】:

  • 谢谢,我发现了问题并修复了它。但无论如何感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-07
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 2018-12-09
  • 2021-05-17
  • 1970-01-01
相关资源
最近更新 更多