python - 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 之前有效,那么可能导致这种不一致行为的原因是什么?
解决方案
PyInstaller 编译到包含所有依赖项的 dist 文件夹,因为我在代码中使用相对路径,所以新文件夹试图从不存在的内容中提取。
推荐阅读
- python - 如何正确使用子进程从 chgport 读取输入?
- ios - 链接器命令在领域失败?
- docker - 在 Ruby Docker 映像中安装 Bundler 失败
- c++ - 如何在 C++ 中使用谷歌测试执行字符串验证和单元测试?
- javascript - 如何使用 javascript 获取此 json 中的密钥
- vue.js - Vuejs 显示模糊的堆栈跟踪
- button - 如何:对齐按钮文本和图标
- docker - 如何在 Visual Studio 代码中将一种文件类型关联到另一种文件类型?
- assembly - 这两种 MIPS 操作有什么区别?
- c - 如何以交互方式发送原始字节以进行缓冲区溢出攻击?