2008-09-08 10 views
79

Ich habe mehrere Module verwendet, um EXEs für Python zu erstellen, aber ich bin mir nicht sicher, ob ich es richtig mache.Wie kann ich eine EXE-Datei von einem Python-Programm erstellen?

Wie soll ich das machen und warum? Bitte stützen Sie Ihre Antworten auf persönliche Erfahrungen und geben Sie gegebenenfalls Referenzen an.

+0

Sehen Sie diese [ähnliche Frage] (http://stackoverflow.com/q/1646326/4794). –

+0

Siehe: [** Eine ausführbare Python-App **] (http://stackoverflow.com/questions/2933/an-executable-python-app) –

+0

Auch http://stackoverflow.com/questions/5458048/how- make-a-python-script-standalone-executable-to-run-ohne-any-dependency – Mohammad

Antwort

68

py2exe ist wahrscheinlich, was Sie wollen, aber es funktioniert nur unter Windows.
PyInstaller funktioniert unter Windows und Linux.
Py2app funktioniert auf dem Mac.

+4

Ich denke cx_Freeze http://cx-freeze.sourceforge.net/cx_Freeze.html ist eine bessere Alternative (plattformübergreifend) . –

+0

Platypus (nur Mac) eignet sich auch sehr gut, um aus Python-Skripten eine App zu erstellen. – svth

+3

PyInstaller war perfekt, extrem einfach und schnell. py2exe würde nicht auf Python 3.5 funktionieren und nicht alle Module in der .exe –

2

py2exe:

py2exe ist eine Python-Distutils Erweiterung, die Skripte in ausführbare Windows-Programme Python konvertiert, in der Lage, ohne dass eine Python-Installation auszuführen.

9

Ich fand diese Präsentation sehr hilfreich.

How I Distribute Python applications on Windows - py2exe & InnoSetup

Von der Website:

Es gibt viele Einsatzmöglichkeiten für Python-Code. Ich werde teilen, was hat funktioniert gut für mich auf Windows, Verpackung Kommandozeilen-Tools und Dienste mit py2exe und InnoSetup. Ich werde ein einfaches Build-Skript demonstrieren, das Windows-Binärdateien und einInnoSetup-Installer in einem Schritt erstellt. In hinaus, werde ich über häufige Fehler gehen, die bei der Verwendung von py2exe und Hinweise zur Fehlerbehebung auftauchen. Dies ist ein kurzer Vortrag, so wird es eine Follow-up Open Space Sitzung zu teilen Erfahrung und helfen einander lösen Verteilungsprobleme.

3

Nicht auf der Liste freehackers ist gui2exe die verwendet werden können eigenständige ausführbare Windows-Dateien, Linux-Anwendungen und Mac OS Anwendungspakete und Plugins von Python-Skripten beginnen zu bauen.

+0

gui2exe hat einige Probleme, wenn Sie wxpython Modul utlis in Windows OS verwenden. – TLSK

4

Auch bekannt als "Frozen Binaries", aber nicht dasselbe wie die Ausgabe eines echten Compilers - sie führen Byte-Code durch eine virtuelle Maschine (PVM). Führen Sie das gleiche wie ein kompiliertes Programm nur etwas größer aus, da das Programm zusammen mit dem PVM kompiliert wird. Py2exe kann eigenständige Programme einfrieren, die die GUI-Bibliotheken tkinter, PMW, wxPython und PyGTK verwenden; Programme, die das pygame-Spielprogramm-Toolkit verwenden; win32com-Client-Programme; und mehr. Das Stackless Python-System ist eine standardmäßige CPython-Implementierungsvariante, die den Status auf dem C-Sprachen-Stack nicht speichert. Dies macht Python leichter portierbar auf Small-Stack-Architekturen, bietet effiziente Multi-Processing-Optionen und fördert neuartige Programmierstrukturen wie Coroutinen. Andere Studiensysteme, die an der zukünftigen Entwicklung arbeiten: Pyrex arbeitet an dem Cython-System, dem Parrot-Projekt, das PyPy arbeitet daran, das PVM vollständig zu ersetzen, und natürlich arbeitet der Gründer von Python mit Google zusammen, um Python zum Laufen zu bringen mal schneller als C mit dem Unladen Swallow-Projekt. Kurz gesagt, py2exe ist das einfachste und Cython ist jetzt effizienter, bis diese Projekte die Python Virtual Machine (PVM) für eigenständige Dateien verbessern.

1

Verwenden cx_Freeze machen exe Ihr Python-Programm