2016-03-30 4 views
2

Ich entwickle eine Software auf Windows 7 mit Python (WxPython für UI), und Pyinstaller ist das Werkzeug, das ich für die Verpackung verwenden. Aber nach dem Upgrade von pyinstaller auf 3.1.1, erscheinen tcl/tk Ordner im Verzeichnis. Und da pyinstaller 2.1 genau die gleichen Quellcodes bündelt, gibt es keine solchen Ordner, so wie es sein sollte, da ich tcl/tk nie irgendwo benutzt habe.Wie schließe ich Tcl/Tk-Ordner in meiner pyinstaller gepackten App aus?

Und ich habe mit a.datas -= TOC([('tcl', None, 'DATA'), ('tk', None, 'DATA')]) versucht, aber es funktioniert nicht. Wie schließe ich tcl/tk während des Packen aus?

Antwort

0

Hack sys.module, um FixTk zu entfernen und tcl, tk und tkinter auszuschließen.

Also in Ihrem pyinstaller .spec Datei enthalten mindestens:

import sys 
sys.modules['FixTk'] = None 

a = Analysis(['kill_tk_test.py'], 
    {...snipped...} 
    excludes=['FixTk', 'tcl', 'tk', '_tkinter', 'tkinter', 'Tkinter'], 

Quelle: @remdragon bei https://github.com/pyinstaller/pyinstaller/wiki/Recipe-remove-tkinter-tcl

Verwandte Themen