我正在使用python(wxPython for UI)在Windows 7上开发软件,而pyinstaller是我用于打包的工具。但最近在将pyinstaller升级到3.1.1后,tcl/tk
文件夹开始显示在目录中。并且使用pyinstaller 2.1捆绑完全相同的源代码,没有找到这样的文件夹,这是应该的方式,因为我从未在任何地方使用过tcl / tk。
我已尝试使用a.datas -= TOC([('tcl', None, 'DATA'), ('tk', None, 'DATA')])
,但它无法正常工作。那么如何在包装过程中排除tcl/tk
?
答案 0 :(得分:0)
破解sys.modules以删除FixTk,并排除tcl,tk和tkinter。
所以在pyinstaller .spec
文件中至少包括:
import sys
sys.modules['FixTk'] = None
a = Analysis(['kill_tk_test.py'],
{...snipped...}
excludes=['FixTk', 'tcl', 'tk', '_tkinter', 'tkinter', 'Tkinter'],
来源:https://github.com/pyinstaller/pyinstaller/wiki/Recipe-remove-tkinter-tcl
的@remdragon答案 1 :(得分:0)
您可以在调用pyinstaller时使用添加数据选项:
await Task.Yield();