Ich entwickle eine Python-Anwendung und möchte meine Kunden nicht zwingen, Python und Module zu installieren.
Also, gibt es eine Möglichkeit, ein Python-Skript zu kompilieren, um eine eigenständige ausführbare Datei sein?
Ich entwickle eine Python-Anwendung und möchte meine Kunden nicht zwingen, Python und Module zu installieren.
Also, gibt es eine Möglichkeit, ein Python-Skript zu kompilieren, um eine eigenständige ausführbare Datei sein?
Ich empfehle auch PyInstaller für eine bessere Abwärtskompatibilität, wie z.B. Python 2.3 - 2.7.
Für py2exe müssen Sie Python 2.6 haben.
Da es in der aktuellen Liste der Antworten zu fehlen scheint, denke ich, dass es erwähnenswert ist, dass die Standardbibliothek eine zipapp
Modul, das zu diesem Zweck verwendet werden kann. Seine grundlegende Verwendung ist die Komprimierung einer Reihe von Python-Dateien in eine Zip-Datei mit der Erweiterung .pyz
als direkt ausgeführt werden kann als python myapp.pyz
aber Sie können auch ein in sich geschlossenes Paket aus einer requirements.txt
Datei:
$ python -m pip install -r requirements.txt --target myapp
$ python -m zipapp -p "interpreter" myapp
Wo interpreter
kann etwas sein wie /usr/bin/env python
(siehe Angabe des Interpreters ).
In der Regel werden die erzeugten .pyz
/ .pyzw
Datei sollte ausführbar sein, unter Unix, weil sie als solche markiert wird, und unter Windows, weil die Python-Installation diese Erweiterungen normalerweise registriert. Es ist jedoch relativ einfach, die eine ausführbare Windows-Datei erstellen die funktionieren sollte, solange der Nutzer über python3.dll
auf dem Weg.
Wenn Sie nicht wollen, dass der Endbenutzer Python installieren muss, können Sie die Anwendung zusammen mit das einbindbare Python-Paket .
Für Python 3.2-Skripte ist die einzige Möglichkeit cx_Freeze . Bauen Sie es aus den Quellen, sonst wird es nicht funktionieren.
Für Python 2.x empfehle ich PyInstaller, da es ein Python-Programm in eine einzige ausführbare Datei packen kann, im Gegensatz zu cx_Freeze, das auch Bibliotheken ausgibt.
Die Liste der Verteilungsdienstprogramme finden Sie unter Vertrieb Dienstprogramme .
Yo uso bbfreeze und es hat sehr gut funktioniert (allerdings fehlt noch die Unterstützung für Python 3).
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.