it-swarm.com.de

Wie kann ich eine .py in .exe für Python umwandeln?

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 ein paar Fragen (ich verwende Python3.6):

Die Methoden, die ich bisher gefunden habe, sind folgende

  1. eine alte Version von Python herunterladen und pyinstaller/py2exe verwenden 
  2. einrichten einer virtuellen Umgebung in 3.6, die es mir ermöglicht, 1 auszuführen. 
  3. downloaden eines Python in C++ - Konverters und Verwenden des.

Hier ist, was ich versucht habe/in welche Probleme ich gestoßen bin. 

  • Ich habe pyinstaller vor dem erforderlichen Download installiert (pypi-irgendwas), damit es nicht funktioniert. Nach dem Herunterladen der Voraussetzungsdatei wird sie von pyinstaller immer noch nicht erkannt. 
  • Muss ich 2.7 installiert haben, wenn ich eine virtualenv in 2.7 einrichte? 
  • in ähnlicher Weise funktionieren die einzigen Python-zu-C++ - Konverter, die ich sehe, nur bis zu Python 3.5. Muss ich diese Version herunterladen und verwenden, wenn Sie dies versuchen?
72
user7396807

Schritte zum Konvertieren von .py in .exe in Python 3.6

  1. Installieren Sie Python 3.6 .
  2. Installieren Sie cx_Freeze (öffnen Sie die Eingabeaufforderung und geben Sie pip install cx_Freeze ein.
  3. Installieren Sie idna (öffnen Sie Ihre Eingabeaufforderung und geben Sie pip install idna ein.
  4. Schreiben Sie ein .py-Programm mit dem Namen myfirstprog.py.
  5. Erstellen Sie eine neue Python-Datei mit dem Namen setup.py im aktuellen Verzeichnis Ihres Skripts.
  6. Code in setup.py unten und speichern Sie es.
  7. Klicken Sie mit gedrückter Umschalttaste auf das gleiche Verzeichnis, um ein Eingabeaufforderungsfenster zu öffnen.
  8. Geben Sie in der Eingabeaufforderung python setup.py build ein.
  9. Wenn Ihr Skript fehlerfrei ist, gibt es keine Probleme beim Erstellen der Anwendung. 
  10. Überprüfen Sie den neu erstellten Ordner build. Es enthält 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:

from cx_Freeze import setup, Executable

base = None    

executables = [Executable("myfirstprog.py", base=base)]

packages = ["idna"]
options = {
    'build_exe': {    
        'packages':packages,
    },    
}

setup(
    name = "<any name>",
    options = options,
    version = "<any number>",
    description = '<any description>',
    executables = executables
)

BEARBEITEN:

  • stellen Sie sicher, dass Sie anstelle von myfirstprog.py den Dateinamen der .py-Erweiterungsdatei so eingeben, wie er in step 4 erstellt wurde.
  • sie sollten jedes imported-Paket in Ihren .py in die packages-Liste aufnehmen (Beispiel: packages = ["idna", "os","sys"]).
  • any name, any number, any description in setup.py-Datei sollte nicht gleich bleiben, Sie sollten es entsprechend ändern (Beispiel: name = "<first_ever>", version = "0.11", description = '')
  • die imported-Pakete müssen installiert sein, bevor Sie step 8 starten.

Python 3.6 wird von Pyinstaller noch nicht unterstützt. Um es zu benutzen, brauchst du Python 3.5 oder unten. Ich bin nicht sicher über py2exe.

In jedem Fall sollte Fall 1 folgendermaßen ausgeführt werden:

Ö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 in Windows Explorer und wählen Sie "Befehlsfenster hier öffnen"). Dann einfach eingeben

pip install pyinstaller

Und das ist es.

Am einfachsten verwenden Sie es, indem Sie die Eingabeaufforderung eingeben

pyinstaller file_name.py

Weitere Informationen zur Verwendung finden Sie unter diese Frage .

Update

Python 3.6 wird jetzt von Pyinstaller unterstützt

41

Es gibt ein Open-Source-Projekt namens auto-py-to-exe auf Github . Tatsächlich verwendet es Pyinstaller auch nur intern, aber da es eine einfache Benutzeroberfläche hat, die Pyinstaller steuert, kann es eine komfortable Alternative sein. Sie kann im Gegensatz zu anderen Lösungen auch eine eigenständige Datei ausgeben. Sie bieten auch ein Video , das zeigt, wie es eingerichtet wird.

GUI:

 Auto Py to Exe

Ausgabe:

 Output

7
Gab

Ich kann Ihnen nicht sagen, was am besten ist, aber ein Werkzeug, das ich in der Vergangenheit mit Erfolg eingesetzt habe, war cx_freeze. Sie haben kürzlich (am 7. Januar '17) ein Update auf Version 5.0.1 durchgeführt und Python 3.6 unterstützt. 

Hier ist die pypi https://pypi.python.org/pypi/cx_Freeze

Dokumente zeigen, dass es mehrere Möglichkeiten gibt, je nach Ihren Bedürfnissen.
http://cx-freeze.readthedocs.io/de/latest/overview.html

Ich habe es noch nicht ausprobiert, deshalb werde ich auf einen Beitrag verweisen, in dem die einfache Vorgehensweise besprochen wurde. Möglicherweise haben sich jedoch einige Dinge geändert.
Wie verwende ich cx_freeze?

6
Gerschel

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 dies und ich werde versuchen, das Skript und die Anweisungen zu veröffentlichen.

PyInstaller Ich lasse 3.6 laufen und PyInstaller arbeitet großartig! Der Befehl, mit dem ich meine exe-Datei erstelle, lautet:

pyinstaller -wF myfile.py

Der -wF erstellt eine einzelne EXE-Datei. Da alle meine Programme eine grafische Benutzeroberfläche haben und das Befehlsfenster nicht angezeigt werden soll, wird das Befehlsfenster mit der Option -w ausgeblendet.

Das ist fast so, als würde man sieht aus wie ein Winforms-Programm ausführen, das in Python geschrieben wurde.

[Update 20. Juli 2019]

Es gibt eine PySimpleGUI GUI-basierte Lösung, die PyInstaller verwendet. Es verwendet PySimpleGUI. Es heißt pysimplegui-exemaker und kann pip installiert werden.

pip install PySimpleGUI-exemaker

So führen Sie es nach der Installation aus:

python -m pysimplegui-exemaker.pysimplegui-exemaker

3
MikeyB

py2exe ist eine distutils-Erweiterung, die die Erstellung eigenständiger ausführbarer Windows-Programme (32-Bit und 64-Bit) aus Python-Skripts ermöglicht. Python 3.3 und höher wird unterstützt. Es kann ausführbare Konsolenprogramme, ausführbare Windows-Benutzeroberflächen (GUI), Windows-Dienste und DLL/EXE-COM-Server erstellen.

Sie können es hier herunterladen:

https://pypi.org/project/py2exe/

2
Tejas Joshi