首页 > 解决方案 > Python 脚本在定期运行时工作正常,但在使用 PyInstaller 编译时不能正常运行

问题描述

我有一个脚本可以生成一个根据某些按钮进行更改的 UI。当我独立运行我的脚本时,它从头到尾都运行良好。

问题是,当我使用 PyInstaller 编译它时(我使用 onefile 或窗口),GUI 在抛出此错误时会中断:

    invalid command name "1940661235784UpdateUI"
    while executing
"1940661235784UpdateUI"
    ("after" script)
 at load function
Exception in Tkinter callback
Traceback (most recent call last):
  File "tkinter\__init__.py", line 1705, in __call__
  File "UserInputs.py", line 614, in <lambda>
  File "UserInputs.py", line 921, in ShowLoadMenu
IndexError: list index out of range

如果此代码在 pyinstaller 之前有效,那么可能导致这种不一致行为的原因是什么?

标签: pythonpyinstallerpython-3.7

解决方案


PyInstaller 编译到包含所有依赖项的 dist 文件夹,因为我在代码中使用相对路径,所以新文件夹试图从不存在的内容中提取。


推荐阅读