Das Erstellen ausführbarer Dateien aus Python-Skripten mit py2exe

Einführung

Das Ausführen von Python-Skripten erfordert viele Voraussetzungen, z. B. die Installation von Python, die Installation einer Vielzahl von Modulen, die Verwendung der Befehlszeile usw. das Ausführen einer .exe -Datei ist sehr einfach.

Wenn Sie eine einfache Anwendung erstellen und an viele Benutzer verteilen möchten, ist es nicht schwierig, sie als kurzes Python-Skript zu schreiben.

Beispiele wie dieses zeigen, dass es einen triftigen Grund gibt, .py -Programme in äquivalente .exe -Programme unter Windows zu konvertieren. .exe steht für „Executable File“, was auch als Binärdatei bezeichnet wird.

Der beliebteste Weg, dies zu erreichen, ist die Verwendung des py2exe -Moduls. In diesem Artikel gehen wir schnell auf die Grundlagen von py2exe ein und beheben einige häufig auftretende Probleme. Um zu folgen, sind keine fortgeschrittenen Python-Kenntnisse erforderlich, Sie müssen jedoch Windows verwenden.

Das Konvertieren eines interpretierten Sprachcodes in eine ausführbare Datei wird allgemein als Einfrieren bezeichnet.

py2exe installieren

Um das py2exe -Modul zu verwenden, müssen wir es installieren. Machen wir das mit pip:

$ pip install py2exe

Konvertieren von Python-Skript in .exe

Schreiben wir zuerst ein Programm, das Text auf die Konsole druckt:

import mathprint("Hannibal ante Portas")print(factorial(4))

Führen wir die folgenden Befehle in der Windows-Befehlszeile aus, um ein Verzeichnis (exampDir) zu erstellen, den bereits geschriebenen Code in dieses Verzeichnis zu verschieben und ihn schließlich auszuführen:

$ mkdir exampDir$ move example.py exampDir$ cd exampDir$ py example.py

Dies sollte ausgeben:

Hannibal ante Portas24

Testen Sie die Skripte immer, bevor Sie sie in ausführbare Dateien umwandeln, um sicherzustellen, dass ein Fehler nicht durch den Quellcode verursacht wird.

Setup und Konfiguration

Erstellen Sie eine weitere Datei mit dem Namen setup.py im selben Ordner. Hier werden wir Konfigurationsdetails darüber aufbewahren, wie wir unser Programm kompilieren möchten. Wir werden vorerst nur ein paar Codezeilen einfügen:

from distutils.core import setup # Need this to handle modulesimport py2exe import math # We have to import all modules used in our programsetup(console=) # Calls setup function to indicate that we're dealing with a single console application

Wenn wir es mit einer App mit einer grafischen Benutzeroberfläche zu tun hätten, würden wir console durch windows ersetzen:

setup(windows=)

Öffnen Sie nun die Eingabeaufforderung als Administrator, navigieren Sie zu dem gerade erwähnten Verzeichnis und führen Sie die setup.py -Datei aus:

$ cd exampDir$ python setup.py py2exerunning py2exe*** searching for required modules ****** parsing results ***...

dist Ordner

Wenn alles richtig gemacht wird, sollte dies ein Unterverzeichnis mit dem Namen dist erzeugen. Darin befinden sich je nach Programm einige verschiedene Dateien, von denen eine example.exe sein sollte. Um es von der Konsole aus auszuführen, führen Sie Folgendes aus:

$ example

Und Sie werden von unserem lateinischen Zitat begrüßt, gefolgt vom Wert von 4!:

Hannibal ante Portas24

Oder Sie können darauf doppelklicken und es wird in der Konsole ausgeführt.

Wenn Sie alle Dateien bündeln möchten, fügen Sie bundle_files und compressed hinzu und setzen Sie zipfile auf None:

from distutils.core import setupimport py2exesetup( options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, console = , zipfile = None,)

Und führen Sie die Befehle erneut aus, um die zu generieren.exe-Datei.

Jetzt können Ihre Endbenutzer Ihre Skripte ausführen, ohne dass Kenntnisse oder Voraussetzungen auf ihren lokalen Computern installiert sind.

Fehlerbehebung

Fehler beim Konvertieren von .py -Dateien in .exe -Dateien sind häufig, daher werden wir einige häufige Fehler und Lösungen auflisten.

So beheben Sie fehlende DLLs nach der Verwendung von py2exe

Ein häufiges Problem mit py2exe sind fehlende .dll -s.

DLL steht für „Dynamic-Link Library“, und sie sind nicht nur da, um Fehler zu machen, versprochen. DLLs enthalten Code, Daten und Ressourcen, die unser Programm möglicherweise während der Ausführung benötigt.

Nach dem Ausführen des .exe, wenn Sie einen Systemfehler erhalten, der so etwas wie sagt:

The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem. 

Oder die Befehlszeile sagt:

ImportError: (DLL load failed: The specified module could not be found.)

Die Lösung besteht darin, das fehlende .dll zu finden und in Ihren dist-Ordner zu verschieben. Es gibt zwei Möglichkeiten, dies zu tun.

  1. Suchen Sie Ihren Computer nach der Datei und kopieren Sie sie. Dies wird die meiste Zeit funktionieren.
  2. Finden Sie das fehlende .dll online und laden Sie es herunter. Versuchen Sie, es nicht von einer zwielichtigen Website herunterzuladen.

Wie generiere ich ausführbare 32/64-Bit-Dateien mit py2exe?

Um eine 64-Bit-ausführbare Datei zu erstellen, installieren Sie 64-Bit-Python auf Ihrem Gerät. Das gleiche gilt für die 32-Bit-Version.

Verwendung von py2exe unter Linux oder Mac

py2exe wird unter Linux oder Mac nicht unterstützt, da es erstellt werden soll.exe-Dateien, die ein Windows-einzigartiges Format ist. Sie können eine virtuelle Windows-Maschine auf Mac und Linux herunterladen, Wine verwenden oder ein anderes Tool wie Pyinstaller unter Linux oder py2app unter Mac verwenden.

Fazit

Um Python-Projekte auf Windows-Geräten einfacher ausführen zu können, müssen wir eine ausführbare Datei generieren. Wir können viele verschiedene Tools verwenden, wie Pyinstaller, auto-py-to-exe, cx_Freeze und py2exe.

Binärdateien können DLL-s verwenden, also stellen Sie sicher, dass Sie sie in Ihr Projekt aufnehmen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

More: