2017-06-12 4 views
0

Ich versuche eine ausführbare Datei aus meinen Python-Skripten zu erstellen. Ich benutze Windows 7, cx_freeze 5.0.2 und Python 3.6.cx_freeze Tkinter 'Modul nicht gefunden'

ich Tkinter weiß nicht in den normalen Bibliotheken enthalten und Sie müssen etwas ähnliches wie die folgenden zwei Zeilen hinzufügen:

os.environ['TCL_LIBRARY'] = "C:\\Program Files\\Python35\\tcl\\tcl8.6" 
os.environ['TK_LIBRARY'] = "C:\\Program Files\\Python35\\tcl\\tk8.6" 

Außer natürlich für 3.6 und in meiner Lage, aber ich kann‘ t finden ihr Verzeichnis in Anaconda 3.6

ich die folgende Datei setup.py

import sys 
from cx_Freeze import setup, Executable 

# Dependencies are automatically detected, but it might need fine tuning. 
build_exe_options = {"packages": ["os"]} 

# GUI applications require a different base on Windows (the default is for a 
# console application). 
base = None 
if sys.platform == "win32": 
    base = "Win32GUI" 

setup( name = "McCabe-Thiele", 
     version = "0.1", 
     description = "My GUI application!", 
     options = {"build_exe": build_exe_options}, 
     executables = [Executable("GUI.py", base=base)]) 

genannt erstellen und aus der cmd Linie mit python setup.py bdist_msi laufen.

Es erstellt erfolgreich das dist, das dann erfolgreich installiert wird.

Allerdings, wenn ich dann die EXE-Datei ausführen der folgende Fehler auftritt:

ModuleNotFoundError: no module named 'tkinter' 

Sie für jede Hilfe Vielen Dank im Voraus mit diesem

Antwort

0

In der dritten Zeile hinzufügen ,"includes":["tkinter"]

Abhängigkeiten automatisch erkannt, aber es könnte Feinabstimmung erforderlich sein.

build_exe_options = {"packages": ["os"],"includes":["tkinter"]} 

Es funktionierte für mich, wenn ich laufe es mit python setup.py build

Aktualisiert-Code von Frage:

import sys 
from cx_Freeze import setup, Executable 

# Dependencies are automatically detected, but it might need fine tuning. 
build_exe_options = {"packages": ["os"],"includes":["tkinter"]} 

# GUI applications require a different base on Windows (the default is for a 
# console application). 
base = None 
if sys.platform == "win32": 
    base = "Win32GUI" 

setup( name = "McCabe-Thiele", 
     version = "0.1", 
     description = "My GUI application!", 
     options = {"build_exe": build_exe_options}, 
     executables = [Executable("GUI.py", base=base)])