· 

Python Datei in .exe umwandeln

1. Einführung

Nachdem man sein Python-Programm fertiggestellt hat, möchte man es anderen natürlich gerne zur Verfügung stellen. Dabei gibt es aber oft ein Problem: Wie genau können andere mein Python-Programm nutzen? Was ist, wenn auf dem Rechner des Anwenders kein Python installiert ist? Was ist, wenn ich bspw. OpenCV als Bibliothek verwendet habe, um Bildverarbeitungsoperationen auf die vom Nutzer eingegebenen Bilder anzuwenden und der Anwender diese Bibliothek nicht auf seinem Rechner installiert hat? Muss er sie dann mühsam nachinstallieren?

All diese Fragen erwecken den Anschein als ob der Anwender deines Programm ebenfalls ein IT-Experte sein muss. Doch das ist keineswegs so, denn es gibt eine sehr einfache Möglichkeit, um jede Python-Datei in eine .exe-Datei umzuwandeln, die dann auf Windows-Rechnern ausgeführt werden kann. Du hast OpenCV für dein Projekt verwendet? Kein Problem! Alle benötigten Dateien werden in der .exe-Datei gekapselt, wodurch diese ohne weiteres Nachladen als Standalone ausgeführt werden kann.

Wir werden dabei ein graphisches Tool nutzen, mit dem der Umwandlungsvorgang von Python-Programmen in ausführbare .exe-Dateien auch ganz ohne Konsolenbefehle erfolgen kann. Aber alles der Reihe nach!


2. PyInstaller

Zunächst brauchst du das Modul PyInstaller. Das kannst du dir ganz leicht mit dem Befehl 

pip install pyinstaller

herunterladen. Das ist sozusagen die Basis, die du brauchst, um eine .exe-Konvertierung vornehmen zu können. So, an dieser Stelle könnten wir diesen Artikel eigentlich schon aufhören, denn dieses Modul PyInstaller kannst du jetzt nutzen, um direkt über die Konsole Python-Programme in .exe-Dateien umzuwandeln.


3. auto py to exe

Wir wollen aber eine Möglichkeit ohne Konsolenbefehle nutzen. Das hat den Vorteil, dass du dir keine langen Befehle mit zahlreichen Optionen merken musst, sondern direkt per Mausklick die Einstellungen vornehmen kannst. Dafür brauchst du den graphischen Konverter auto-py-to-exe. Diesen kannst du dir ebenfalls sehr bequem mit dem Befehl

pip install auto-py-to-exe

herunterladen.

Mal angenommen, du möchtest das Snipping-Tool, das wir in meinem Python-Tutorial entwickelt haben, nun als .exe-Datei zur Verfügung stellen. Starte über die Konsole den Befehl auto-py-to-exe und es öffnet sich eine graphische Anwendung:

Zuerst wird die Script-Location ausgewählt. Das ist die Python-Datei, die du in eine .exe-Datei umwandeln willst. Hier sollte der Einstiegspunkt (__main__) in deine Anwendung sein. 

Als nächstes kannst du auswählen, ob ein Verzeichnis oder eine einzige Datei erstellt werden soll. Wenn du Verzeichnis auswählst, dann sind neben der eigentlichen .exe-Datei weitere Dateien vorhanden, die beim Start der .exe eingebunden werden. Wenn du hingegen die Option eine Datei wählst, dann werden alle benötigten Dateien in ein einziges .exe-File gepackt, das dann per Copy-and-Paste an jeden Ort verschoben und ausgeführt werden kann.

Ist dir eigentlich etwas an dem Feld Current Command aufgefallen? Mit jeder ausgewählten Option ändert sich nämlich die darin enthaltene Befehlszeile. Das liegt daran, dass im Hintergrund quasi der Befehl, den man für den PyInstaller schreiben müsste, zusammengebaut wird. Wenn du ganz am Ende auf Convert .PY TO .EXE  klickst, dann wird einfach nur dieser Befehl ausgeführt. Deshalb musstest du zuvor auch den PyInstaller installieren, da auto-py-to-exe lediglich den Aufruf des PyInstallers erleichtert. Vielleicht motiviert dich dieser Gedanke dazu, für andere Python-Module ein solches Hilfsprogramm zu schreiben.

Nun kannst du auswählen, ob du eine konsolen- oder fensterbasierte Anwendung haben möchtest. Wenn du konsolenbasiert auswählst, öffnet sich beim Klick auf die .exe-Datei ein Konsolenfenster. Wenn du hingegen die Option fensterbasiert wählst, erscheint kein Konsolenfenster.

Es besteht zudem die Möglichkeit Icons einzubinden. Die .exe-Datei sieht dann aus wie das ausgewählte Icon, was dem Ganzen nochmal einen professionelleren Touch verleiht.

Klicke dazu auf Browse und wähle eine .ico-Datei aus. ###FÜR UNSER BEISPIEL HABE ICH DIESES ICON HIER VERWENDET.

Klicke abschließend auf CONVERT .PY TO .EXE  und öffne die erzeugte .exe-Datei. Wenn sie das gewünschte Verhalten zeigt bist du fertig und kannst dein Programm veröffentlichen.