【发布时间】:2021-10-12 13:46:48
【问题描述】:
我制作了一个使用 tkinter 和 tkinterdnd moudles 的应用程序。当我将它作为脚本启动时它工作得很好,但是当我尝试从中制作可执行文件并启动它时,会出现以下错误:
Traceback (most recent call last):
File "TkinterDnD2\TkinterDnD.py", line 53, in _require
_tkinter.TclError: can't find package tkdnd
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "IxcomGUI.py", line 128, in <module>
File "IxcomGUI.py", line 11, in __init__
File "TkinterDnD2\TkinterDnD.py", line 285, in __init__
File "TkinterDnD2\TkinterDnD.py", line 55, in _require
RuntimeError: Unable to load tkdnd library.
[14512] Failed to execute script 'IxcomGUI' due to unhandled exception!
我尝试了以下操作:
- 使用
pip install安装tkinterdnd2 并使用pyinstaller myscript.py构建。 - 手动安装 tkinterdnd2 模块,如本视频所示 https://www.youtube.com/watch?v=JIy0QjwQBl0&t=605s&ab_channel=RamonWilliams 并使用
pyinstaller myscript.py构建 - 重复上一步,但添加了这个东西https://github.com/pmgagne/tkinterdnd2/blob/master/hook-tkinterdnd2.py
- 试图通过使用 --paths 标志指定模块路径来隐式告诉 pyinstaller 路径到 tkdnd 模块。
所有这些尝试都导致了以下错误。有谁知道某种解决方案?
【问题讨论】:
-
您是否在 pyinstaller 命令行中包含了
--additional-hooks-dir=.部分,就像步骤 3 中所说的那样? -
是的,我做了,但我也偶然发现了一个解决方案,我已经在这里发布了。
标签: python tkinter pyinstaller