Wie Python Programm in .exe machen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Dazu muss man das Python-Modul pyinstaller installieren. Starte die Windows Eingabeaufforderung und gebe folgenden Befehl ein:

  • pip install pyinstaller

Während der Installation werden noch weitere Abhängigkeiten zusätzlich installiert. Es ist für Python 2 und die allerneueste Version 3 geeignet. Und so kompiliert man damit: Zuerst erstellt man sich einen Ordner. Er darf keine Leerzeichen enthalten. Als Name kann man z.B. Python-Projekte nehmen. Dort das geschriebene Python-Programm abspeichern. Dann von diesem Ordner die Windows Eingabeaufforderung aufrufen und folgendes eingeben:

  • pyinstaller programmname.py

Das erstellt 3 Unterordner in Python-Projekte. Einmal build dist und __pycache__ Die Ordner build und __pycache__ können nach dem Kompiliervorgang gelöscht werden. Im Ordner dist befindet sich ein weiterer Unterordner mit dem Namen programmname Dort drin befindet sich die programmname.exe und die dazugehörigen Laufzeitbibliotheken.

Als letzten Schliff kann man dann mit Inno Setup http://www.jrsoftware.org/download.php/is.exe das ganze in eine Installationsroutine verpacken. Dazu muss man den ganzen Ordnerinhalt von programmname und die weiteren Unterordner zu seinem Projekt hinzufügen. Inno Setup erstellt dann daraus eine setup.exe Ideal wenn man das Programm weitergeben möchte. Das ist dann selbstständig ohne das man Python installieren muss lauffähig.

Pyinstaller gibt es auch für Mac und Linux. Beim Mac kann man nach dem Kompilieren das mit den Bordmitteln in ein DMG verpacken. Unter Linux kann man z.B. bei den Distributionen die deb Pakete nutzen mit dem grafischen Tool Debreate https://antumdeluge.github.io/debreate-web/ das fertig kompilierte Programm in ein DEB-Paket verpacken. Für Distributionen die rpm Pakete nutzen gibt es das grafische Tool RPM Package Maker https://alternativeto.net/software/rpm-package-maker/

mnlwrnr  26.10.2019, 14:04

Hier noch ein Tip: Möchte man in der programmname.exe das integrierte Symbol ändern, kann man dazu das Tool Resource Hacker nehmen. Damit kann man direkt EXE bearbeiten und modifizieren: http://www.angusj.com/resourcehacker/ Das darf bei keinem Programmierer fehlen.

0

Da fallen mir 3 Tools ein:

  1. Py2Exe - eher für Python2 geeignet, arbeitet mit ein paar älteren Python 3.x Versionen was mehr schlecht als recht klappt.
  2. Nuitka (https://nuitka.net/) - soweit ich weiß klappt das sehr gut - habe das Tool selber nur einmal ausprobiert
  3. cx_Freeze (https://cx-freeze.readthedocs.io/en/latest/) - damit lassen sich nicht nur Windows-Programme sondern auch Mac-Apps bauen. Ich hatte damit nie Probleme und es läuft auch mit den neuesten Python-Versionen ohne Zicken.
Woher ich das weiß:Berufserfahrung – Softwareentwickler f. Web, Win. & Linux (seit 2001)