Ich versuche, ein ziemlich einfaches Python-Programm in eine ausführbare Datei zu konvertieren und konnte nicht finden, wonach ich gesucht habe. Daher habe ich einige Fragen (ich verwende Python 3.6):
Die Methoden, die ich bisher gefunden habe, sind folgende
- Herunterladen einer alten Version von Python und Verwenden
pyinstaller/py2exe
- Einrichten einer virtuellen Umgebung in Python 3.6, mit der ich 1 ausführen kann.
- Laden Sie einen Python to C ++ - Konverter herunter und verwenden Sie diesen.
Hier ist, was ich versucht habe / auf welche Probleme ich gestoßen bin.
- Ich habe
pyinstaller
vor dem erforderlichen Download davor installiert (pypi-etwas), so dass es nicht funktioniert hat. Nach dem Herunterladen der vorausgesetzten Datei wird siepyinstaller
immer noch nicht erkannt. - Wenn ich eine virtuelle Umgebung in Python 2.7 einrichte, muss Python 2.7 tatsächlich installiert sein?
- Ebenso funktionieren die einzigen Python-zu-C ++ - Konverter, die ich sehe, nur bis Python 3.5. Muss ich diese Version herunterladen und verwenden, wenn ich dies versuche?
python
python-3.x
exe
py2exe
python-3.6
user7396807
quelle
quelle
Antworten:
Schritte zum Konvertieren von .py in .exe in Python 3.6
pip install cx_Freeze
.pip install idna
..py
Programm mit dem Namenmyfirstprog.py
.setup.py
im aktuellen Verzeichnis Ihres Skripts.setup.py
Kopieren Sie in der Datei den folgenden Code und speichern Sie ihn.python setup.py build
build
. Es hat einen anderen Ordner. In diesem Ordner finden Sie Ihre Anwendung. Starte es. MAch dich glücklich.Siehe das Original-Skript in meinem Blog .
setup.py:
BEARBEITEN:
myfirstprog.py
Sie sicher, dass Sie stattdessen den.py
Namen Ihrer Erweiterungsdatei wie in Schritt 4 erstellt eingeben .import
ed-Paket in Ihre.py
In-packages
Liste aufnehmen (Beispiel:packages = ["idna", "os","sys"]
)any name, any number, any description
in -setup.py
Datei sollte nicht gleich bleiben, sollten Sie es entsprechend ändern (zB:name = "<first_ever>", version = "0.11", description = ''
)import
ed-Pakete müssen installiert sein, bevor Sie Schritt 8 starten .quelle
from sklearn.externals import joblib
? wie in der Bearbeitung erwähnt, Schritt 2.Python 3.6 wird von PyInstaller unterstützt.
Öffnen Sie ein Cmd-Fenster in Ihrem Python-Ordner (öffnen Sie ein Befehlsfenster und verwenden Sie
cd
oder halten Sie die Umschalttaste gedrückt, klicken Sie mit der rechten Maustaste darauf im Windows Explorer und wählen Sie "Befehlsfenster hier öffnen"). Dann einfach eintretenUnd das ist es.
Die einfachste Möglichkeit, es zu verwenden, ist die Eingabe an der Eingabeaufforderung
Weitere Informationen zur Verwendung finden Sie in dieser Frage .
quelle
Auf GitHub gibt es ein Open-Source-Projekt namens auto-py-to-exe . Eigentlich wird PyInstaller auch nur intern verwendet, aber da es eine einfache GUI hat, die PyInstaller steuert, kann es eine komfortable Alternative sein. Im Gegensatz zu anderen Lösungen kann auch eine eigenständige Datei ausgegeben werden. Sie bieten auch ein Video zeigt, wie es eingerichtet wird.
GUI:
Ausgabe:
quelle
Ich kann Ihnen nicht sagen, was am besten ist, aber ein Tool, das ich in der Vergangenheit erfolgreich verwendet habe, war cx_Freeze . Sie wurden kürzlich (am 7. Januar '17) auf Version 5.0.1 aktualisiert und unterstützen Python 3.6.
Hier ist das pypi https://pypi.python.org/pypi/cx_Freeze
Die Dokumentation zeigt, dass es je nach Ihren Anforderungen mehrere Möglichkeiten gibt. http://cx-freeze.readthedocs.io/en/latest/overview.html
Ich habe es noch nicht ausprobiert, daher werde ich auf einen Beitrag verweisen, in dem die einfache Vorgehensweise besprochen wurde. Einige Dinge können sich jedoch geändert haben oder auch nicht.
Wie verwende ich cx_freeze?
quelle
Ich habe Nuitka und PyInstaller mit meinem Paket PySimpleGUI verwendet.
Nuitka Es gab Probleme beim Kompilieren von tkinter mit Nuikta. Einer der Projektmitarbeiter entwickelte ein Skript, mit dem das Problem behoben wurde.
Wenn Sie tkinter nicht verwenden, funktioniert es möglicherweise "nur" für Sie. Wenn Sie tkinter verwenden, sagen Sie es und ich werde versuchen, das Skript und die Anweisungen zu veröffentlichen.
PyInstaller Ich verwende 3.6 und PyInstaller funktioniert hervorragend! Der Befehl, mit dem ich meine exe-Datei erstelle, lautet:
Das -wF erstellt eine einzelne EXE-Datei. Da alle meine Programme eine GUI haben und ich nicht möchte, dass das Befehlsfenster angezeigt wird, wird das Befehlsfenster durch die Option -w ausgeblendet.
Dies ist fast so, als würde ein Winforms-Programm ausgeführt, das in Python geschrieben wurde.
[Update 20-Jul-2019]
Es gibt eine PySimpleGUI GUI-basierte Lösung, die PyInstaller verwendet. Es verwendet PySimpleGUI. Es heißt pysimplegui-exemaker und kann per Pip installiert werden.
pip install PySimpleGUI-exemaker
So führen Sie es nach der Installation aus:
python -m pysimplegui-exemaker.pysimplegui-exemaker
quelle
Jetzt können Sie es mit PyInstaller konvertieren. Ich arbeite sogar mit Python 3.
Schritte:
pip install pyinstaller
pyinstall <filename>
quelle