Py2Exe "Fehlende Module"

9

Ich versuche mein Python-Projekt mit Py2Exe in eine exe zu konvertieren. Es ist erwähnenswert, dass sich cx_freeze über die gleichen drei "fehlenden Module" beschwert, zusammen mit einigen Dutzend anderen. Das Problem ist, dass niemand irgendwo erklärt, wie man das löst.

Ich baue auf MS Windows XP 32-Bit (VirtualBox).

%Vor%

Mein setup.py ist wie folgt.

%Vor%

Dies ist ein Python 3.4-Projekt mit GTK + 3 (in Glade integriert). Es läuft nur prächtig auf Ubuntu und von python redstring.py, aber ich kann das Ding nicht zu einer .exe kompilieren.

Bis jetzt habe ich import platform , from platform import win32api und alle ähnlichen in redstring.py und setup.py versucht, zusammen mit dem Import der Plattform über py2exe Optionen in der Setup-Datei.

    
CodeMouse92 11.11.2014, 21:52
quelle

2 Antworten

7

win32api und win32con sind Teil von Mark Hammonds Python-Windows-Erweiterungen (aka pywin32). readline ist ein Modul, das (falls vorhanden) von einem Code verwendet wird, der mit der Konsole interagiert.

Sowohl readline als auch pywin32 sind optionale Module / Pakete, die nicht unbedingt benötigt werden, aber wenn sie vorhanden sind.

Alles in allem - py2exe bemerkt, dass diese Module / Pakete durch einen Code referenziert werden, der in Ihre exe eingefügt wird (es erwähnt sogar die Module, die auf diese Mod / Pakete verweisen: cmd, code, pdb, platform). Ich hoffe, Sie haben Ihr Skript getestet - in der 'nicht kompilierten' Form, wenn es richtig funktioniert, können Sie diese Nachrichten ignorieren: sie sind nur Warnungen.

Der Grund dafür, dass keine ausführbare Datei erstellt wurde, ist, dass die Zeile 'console = ["redstring"]' oder 'windows = ["redstring"] "im Aufruf von setup () fehlt.

    
theller 12.11.2014, 13:59
quelle
8

Es würde also passieren, dass diese Bibliotheken nie installiert wurden. Python kann "Batterien enthalten" sein, aber nicht in diesem Umfang. Ich beantworte dies aber, weil es für einige (mich eingeschlossen) nicht das Offensichtlichste auf der Welt ist.

Sie müssen win32api (oder pywin32, wie es offiziell heißt) von Sourceforge installieren (im Moment durchsuchen Sie die Dateien für die neueste Version, da die Download-Schaltfläche auf README.txt verweist) Das wird auch win32con auflösen. (Sie können pywin32 im Moment leider nicht installieren.)

readline ist nicht mit Windows kompatibel , fragt aber danach. Sie müssen tatsächlich Pyreadline installieren, was am einfachsten von pip install pyreadline ist.

Das sollte all diese Probleme für py2exe beheben. Ich habe immer noch Probleme, aber es ist ein anderes Problem, also ist es eine andere Frage.

    
CodeMouse92 12.11.2014 01:17
quelle

Tags und Links