Python Pyinstaller不';我不能很好地使用ImageTk和Tkinter

Python Pyinstaller不';我不能很好地使用ImageTk和Tkinter,python,tkinter,python-imaging-library,pyinstaller,Python,Tkinter,Python Imaging Library,Pyinstaller,我正试图使用pyinstaller来构建我一直在开发的程序,但后来我遇到了二进制文件的问题。这是我的程序 首先我运行了pyinstall test.py,然后我使用/dist/main/test运行二进制文件,但是我得到了这个错误,这是正常运行脚本时没有得到的(例如python3 test.py) 我是否错误地使用了pyinstaller,或者是否存在其他问题?我知道这已经有一个多月的历史了,但我发现自己正在努力解决这个问题,而且它似乎不想以任何建议的方式工作。 鉴于其他人将来可能会遇到这种情况

我正试图使用pyinstaller来构建我一直在开发的程序,但后来我遇到了二进制文件的问题。这是我的程序

首先我运行了
pyinstall test.py
,然后我使用
/dist/main/test
运行二进制文件,但是我得到了这个错误,这是正常运行脚本时没有得到的(例如
python3 test.py


我是否错误地使用了pyinstaller,或者是否存在其他问题?

我知道这已经有一个多月的历史了,但我发现自己正在努力解决这个问题,而且它似乎不想以任何建议的方式工作。
鉴于其他人将来可能会遇到这种情况,下面是我如何为此使用热修复程序的。
首次使用PyInstaller创建可执行文件后,将创建一个规范文件。
此文件类似于以下内容(对于--onefile):

我所做的只是使用
datas
以这种方式将PIL复制到文件中:

datas=[('/usr/local/lib/python3.7/dist-packages/PIL/','PIL'),],
现在一切都正常运转,直到我有时间找到更好的解决方案


请记住,如果将PyInstaller用于
main_file.py
(在本例中),规范文件将被覆盖。相反,应该使用
pyinstaller main\u file.spec

我知道这已经有一个多月的历史了,但我发现自己正在努力解决这个问题,因为它似乎不想以任何建议的方式工作。
鉴于其他人将来可能会遇到这种情况,下面是我如何为此使用热修复程序的。
首次使用PyInstaller创建可执行文件后,将创建一个规范文件。
此文件类似于以下内容(对于--onefile):

我所做的只是使用
datas
以这种方式将PIL复制到文件中:

datas=[('/usr/local/lib/python3.7/dist-packages/PIL/','PIL'),],
现在一切都正常运转,直到我有时间找到更好的解决方案


请记住,如果将PyInstaller用于
main_file.py
(在本例中),规范文件将被覆盖。相反,应该使用
pyinstaller main_file.spec

我现在晚了2个月,但为了添加一个更简单的解决方案,我设法让它工作,添加了几个隐藏导入:

hiddenimports=['PIL', 'PIL._imagingtk', 'PIL._tkinter_finder']

我现在晚了2个月,但为了添加一个更简单的解决方案,我通过添加两个隐藏导入成功地实现了这一点:

hiddenimports=['PIL', 'PIL._imagingtk', 'PIL._tkinter_finder']
hiddenimports=['PIL', 'PIL._imagingtk', 'PIL._tkinter_finder']