Python-Skript (.py) in ausführbare Datei (exe) konvertiert

Konvertieren Sie Python-Skripte mit PyInstaller in ausführbare Dateien (exe).

Bei der Entwicklung und Verteilung von Python-Anwendungen ist das Packen von Skripten in ausführbare Dateien ein häufiger Bedarf.
PyInstaller ist ein beliebtes Tool, das Python-Skripte in eigenständige, ausführbare Binärdateien konvertiert, sodass Anwendungen in Umgebungen ohne Python-Interpreter ausgeführt werden können. In diesem Artikel wird detailliert beschrieben, wie Sie PyInstaller für die Konvertierung verwenden.

1. Installieren Sie PyInstaller

Stellen Sie zunächst sicher, dass Sie den Python-Interpreter installiert haben. Anschließend können Sie PyInstaller mit pip installieren:
Schritt 1: Überprüfen Sie, ob die Pip-Umgebung installiert ist:

pip --version

Fügen Sie hier eine Bildbeschreibung ein
Schritt 2: Pyinstaller installieren

pip install pyinstaller

Fügen Sie hier eine Bildbeschreibung ein

2. Erstellen Sie ein Python-Skript

Bevor Sie mit der Konvertierung beginnen, müssen Sie zunächst das Python-Skript schreiben, das Sie konvertieren möchten. Sie können Skripte entsprechend Ihren eigenen Anforderungen schreiben, beispielsweise ein einfaches „hello.py“-Skript, das „Hello, World!“ ausgibt.

Fügen Sie hier eine Bildbeschreibung ein

3. Verwenden Sie PyInstaller, um das Skript zu konvertieren

Schritt 1: Öffnen Sie unser Python-Skript-Speicherverzeichnis, geben Sie cmd in das Verzeichnisfeld ein und drücken Sie die Eingabetaste, um unsere cmd-Befehlszeilenschnittstelle aufzurufen.
Fügen Sie hier eine Bildbeschreibung ein
Schritt 2: Wir geben den folgenden Befehl in die cmd-Befehlszeilenschnittstelle ein, um die py-Datei zu konvertieren:

pyinstaller --onefile hello.py

cmd führt zu folgenden Ergebnissen:

C:\ali>pyinstaller --onefile hello.py
154 INFO: PyInstaller: 3.6
154 INFO: Python: 3.8.6
155 INFO: Platform: Windows-10-10.0.25982-SP0
156 INFO: wrote C:\ali\hello.spec
162 INFO: UPX is not available.
164 INFO: Extending PYTHONPATH with paths
['C:\\ali', 'C:\\ali']
164 INFO: checking Analysis
164 INFO: Building Analysis because Analysis-00.toc is non existent
164 INFO: Initializing module dependency graph...
171 INFO: Caching module graph hooks...
184 INFO: Analyzing base_library.zip ...
2507 INFO: Processing pre-find module path hook   distutils
2509 INFO: distutils: retargeting to non-venv dir 'c:\\program files\\python\\lib'
5674 INFO: Caching module dependency graph...
5786 INFO: running Analysis Analysis-00.toc
5804 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
  required by c:\program files\python\python.exe
5947 WARNING: lib not found: api-ms-win-core-fibers-l1-1-0.dll dependency of C:\WINDOWS\system32\ucrtbase.dll
5953 WARNING: lib not found: api-ms-win-core-kernel32-legacy-l1-1-1.dll dependency of C:\WINDOWS\system32\ucrtbase.dll
5967 WARNING: lib not found: api-ms-win-core-sysinfo-l1-2-0.dll dependency of C:\WINDOWS\system32\ucrtbase.dll
5980 WARNING: lib not found: api-ms-win-core-fibers-l1-1-1.dll dependency of C:\WINDOWS\system32\ucrtbase.dll
6127 INFO: Analyzing C:\ali\hello.py
6129 INFO: Processing module hooks...
6129 INFO: Loading module hook "hook-distutils.py"...
6133 INFO: Loading module hook "hook-encodings.py"...
6227 INFO: Loading module hook "hook-lib2to3.py"...
6237 INFO: Loading module hook "hook-pydoc.py"...
6239 INFO: Loading module hook "hook-sysconfig.py"...
6241 INFO: Loading module hook "hook-xml.etree.cElementTree.py"...
6242 INFO: Loading module hook "hook-xml.py"...
6339 INFO: Loading module hook "hook-_tkinter.py"...
6574 INFO: checking Tree
6574 INFO: Building Tree because Tree-00.toc is non existent
6574 INFO: Building Tree Tree-00.toc
6717 INFO: checking Tree
6717 INFO: Building Tree because Tree-01.toc is non existent
6718 INFO: Building Tree Tree-01.toc
6747 INFO: Looking for ctypes DLLs
6767 INFO: Analyzing run-time hooks ...
6770 INFO: Including run-time hook 'pyi_rth__tkinter.py'
6772 INFO: Including run-time hook 'pyi_rth_multiprocessing.py'
6778 INFO: Looking for dynamic libraries
7074 INFO: Looking for eggs
7074 INFO: Using Python library c:\program files\python\python38.dll
7074 INFO: Found binding redirects:
[]
7077 INFO: Warnings written to C:\ali\build\hello\warn-hello.txt
7112 INFO: Graph cross-reference written to C:\ali\build\hello\xref-hello.html
7135 INFO: checking PYZ
7135 INFO: Building PYZ because PYZ-00.toc is non existent
7135 INFO: Building PYZ (ZlibArchive) C:\ali\build\hello\PYZ-00.pyz
7627 INFO: Building PYZ (ZlibArchive) C:\ali\build\hello\PYZ-00.pyz completed successfully.
7635 INFO: checking PKG
7635 INFO: Building PKG because PKG-00.toc is non existent
7635 INFO: Building PKG (CArchive) PKG-00.pkg
10023 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
10038 INFO: Bootloader c:\program files\python\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe
10039 INFO: checking EXE
10039 INFO: Building EXE because EXE-00.toc is non existent
10039 INFO: Building EXE from EXE-00.toc
10041 INFO: Appending archive to EXE C:\ali\dist\hello.exe
10051 INFO: Building EXE from EXE-00.toc completed successfully.

Fügen Sie hier eine Bildbeschreibung ein

Dadurch wird eine ausführbare Datei mit dem Namen „hello.exe“ generiert. Der ursprüngliche Pfad, in dem wir die Datei hello.py speichern, enthält die folgenden Dateien:
Fügen Sie hier eine Bildbeschreibung ein

4. Führen Sie die ausführbare Datei aus

Nach Abschluss der Konvertierung befindet sich die generierte ausführbare Datei im Dist-Ordner im selben Verzeichnis. Doppelklicken Sie, um „hello.exe“ auszuführen, und Sie sehen die Ausgabe von „Hello, World!“ in der Befehlszeile oder im Terminalfenster.
Fügen Sie hier eine Bildbeschreibung ein

5.Erweiterte Optionen

PyInstaller bietet viele erweiterte Optionen zum Anpassen des Konvertierungsprozesses. Sie können beispielsweise den Namen, das Symbol, Abhängigkeiten usw. der generierten ausführbaren Datei angeben. Weitere Informationen zu anderen Inhalten finden Sie in der offiziellen Dokumentation von PyInstaller.

Im Folgenden sind die relevanten Befehle von PyInstaller aufgeführt:

1. Installieren Sie PyInstaller

Geben Sie im Terminal den folgenden Befehl ein, um PyInstaller zu installieren:

pip install pyinstaller
2. Python-Code verpacken

Gehen Sie im Terminal in das Verzeichnis, in dem sich der Python-Code befindet, und geben Sie den folgenden Befehl ein:

pyinstaller yourscript.py

Wobeiyourscript.py der Name der Python-Codedatei ist, die Sie verpacken möchten.
Nach der Ausführung dieses Befehls erstellt PyInstaller automatisch ein Verzeichnis dist, das die ausführbare Datei und andere erforderliche Dateien enthält.

3. Fügen Sie zusätzliche Dateien hinzu

Wenn Ihr Python-Code von anderen Dateien abhängt (z. B. Konfigurationsdateien, Bildern usw.), müssen Sie den Parameter --add-data verwenden, um diese Dateien zur ausführbaren Datei hinzuzufügen, z Beispiel: < /span>

pyinstaller --add-data 'config.ini:.' yourscript.py

Der obige Befehl fügt die Datei config.ini zur ausführbaren Datei hinzu und platziert sie in dem Verzeichnis, in dem sich die ausführbare Datei befindet.

4. Geben Sie das Ausgabeverzeichnis an

Standardmäßig platziert PyInstaller ausführbare Dateien im Verzeichnis dist. Wenn Sie die ausführbare Datei in einem anderen Verzeichnis ablegen möchten, können Sie den Parameter --distpath verwenden, um das Ausgabeverzeichnis anzugeben, zum Beispiel:

pyinstaller --distpath /path/to/output yourscript.py
5. Geben Sie die Verpackungsmethode an

PyInstaller unterstützt mehrere Verpackungsmethoden, einschließlich einer einzelnen Datei, einer Reihe von Dateien und Verzeichnissen oder eines ZIP-Pakets. Sie können Python-Code mit dem Parameter --onefile in eine einzelne ausführbare Datei packen, zum Beispiel:

pyinstaller --onefile yourscript.py

Wenn Sie den Python-Code in ein ZIP-Paket packen möchten, können Sie den Parameter --onedir verwenden, zum Beispiel:

pyinstaller --onedir yourscript.py
6. Andere Parameter

PyInstaller unterstützt auch viele andere Parameter, z. B. das Festlegen von Symbolen, das Deaktivieren von Konsolenfenstern, das Festlegen von Python-Versionen usw. Sie können alle verfügbaren Parameter über den Befehl pyinstaller --help anzeigen.

pyinstaller --icon=youricon.ico --noconsole yourscript.py

Der obige Befehl legt youricon.ico als Symbol der ausführbaren Datei fest und deaktiviert das Konsolenfenster.

Im Folgenden sind einige allgemeine Befehle von PyInstaller aufgeführt, die je nach tatsächlicher Situation angepasst werden können. Ich hoffe, dieser Blog kann Ihnen helfen.

6 Fazit

Die Verwendung von PyInstaller zum Konvertieren eines Python-Skripts in eine ausführbare Datei ist eine einfache und effektive Möglichkeit, die unabhängige Ausführung der Anwendung in einer Umgebung ohne Python-Interpreter zu ermöglichen. Indem Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie Ihr eigenes Python-Skript ganz einfach in eine ausführbare Datei konvertieren.

Ich hoffe, dieses Blogdokument ist hilfreich für Sie! Wenn Sie Fragen haben, können Sie diese gerne stellen.


Guess you like

Origin blog.csdn.net/m0_53157282/article/details/134063121