我已经进行了相当广泛的搜索,但是找不到适合我的解决方案。简而言之,我有一个用户Tkinter的Python GUI,它可以在Python环境中完美运行。现在,如果我冻结了它并尝试在计算机之外使用它,它将无法运行报告:
C:\Users\charlie\Desktop\testprogram>testprogram.exe
Traceback (most recent call last):
File "testprogram.py", line 842, in <module>
File "lib-tk\Tkinter.py", line 1810, in __init__
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
C:/Users/charlie/Desktop/lib/tcl8.5 C:/Users/charlie/Desktop/lib/tcl8.5
C:/Users/charlie/lib/tcl8.5 C:/Users/charlie/Desktop/library
C:/Users/charlie/library C:/Users/charlie/tcl8.5.15/library
C:/Users/tcl8.5.15/library
我正在通过命令行使用pyinstaller v3.3.1(Python 2.7 32位Windows7)
pyinstaller --icon“ testprogram.ico” --onefile -c --clean --add-data文件;文件testprogram.py
一切都很好。除非它不能运行,并且抱怨以上内容。如果我使用--onedir冻结,则会遇到相同的问题。构建目录中存在的目录是tcl和tk。
出于某种原因,似乎正在尝试从工作目录之外而不是在“ testprogram”中查找tcl文件。要使该exe在另一台机器上运行,我必须将relavent tcl内容复制到上述目录之一-或进行目录复制并复制内容。
帮助解决此问题。我需要将其构建为一个exe文件。 谢谢