Ho creato un'app Python (2.7) che utilizza Tkinter e sto provando a creare un exe di Windows7 usando Pyinstaller (3.2). Le opere app trovano in Windows è l'eseguo come python myapp.py
, ma una volta compilato in un distribuibile pyinstaller, ottengo questo messaggio di errore:pyinstaller e Tkinter
ImportError: No module named Tkinter
Giusto per essere sicuri, la parte superiore di myapp.py contiene:
from copy import deepcopy
import cPickle as pickle
import Tkinter as tk
from PIL import ImageTk
Controllo della directory di distribuzione, vedo tk85.dll, tcl85.dll e due directory che vedono pertinenti, tcl/tk e/
ho trovato molti riferimenti a dipendenze Tkinter secondari, come matplotlib che le importazioni Tkinter itslef, ma non l'ho fatto trovato qualche dettaglio di una dipendenza diretta come questa.
Qualche idea su come farlo funzionare?
Ho convertito uno script Python in exe ma ho trovato PyInstaller che creava problemi. Prova invece a farlo usando Cx_Freeze. È senza problemi e funziona come un fascino. – AR06
Non lo so. Farò un tentativo e riferire una volta che faccio. – KirkDCO
Ho provato cx_Freeze e sono molto più vicino. Ho dovuto inserire un paio di eccezioni per evitare alcuni errori del pacchetto. Ora, tuttavia, sono bloccato con un problema di carattere. Uno dei pacchetti che sto usando utilizza anche Pillow e alcuni font PIL. Ho trovato dove sono memorizzati i caratteri per il pacchetto, ma non riesco a mettere a punto le cose per sapere che ci sono. Li ho copiati direttamente nella directory build/exe, ma senza fortuna. Vedo anche la sezione nei documenti cx_Freeze sull'inclusione dei file di dati, ma non sono sicuro di come farlo funzionare. – KirkDCO