Suche…


Syntax

  • pyinstaller [Optionen] Skript [Skript ...] | Specfile

Bemerkungen

PyInstaller ist ein Modul, mit dem Python-Apps in einem Paket zusammen mit allen Abhängigkeiten gebündelt werden. Der Benutzer kann dann die Paket-App ohne einen Python-Interpreter oder irgendwelche Module ausführen. Es bündelt viele wichtige Pakete wie Numpy, Django, OpenCv und andere.

Einige wichtige Punkte zum Erinnern:

  • Pyinstaller unterstützt Python 2.7 und Python 3.3+
  • Pyinstaller wurde gegen Windows, Linux und Mac OS X getestet.
  • Es ist kein Cross Compiler. (Eine Windows-App kann nicht in Linux gepackt werden. Sie müssen PyInstaller in Windows ausführen, um eine App für Windows zu bündeln.)

Homepage Offizielle Dokumente

Installation und Einrichtung

Pyinstaller ist ein normales Python-Paket. Es kann mit pip installiert werden:

pip install pyinstaller

Installation unter Windows
Für Windows ist pywin32 oder pypiwin32 eine Voraussetzung. Letzteres wird automatisch installiert, wenn pyinstaller mit pip installiert wird.

Installation unter Mac OS X
PyInstaller arbeitet mit dem Standard-Python 2.7, der im aktuellen Mac OS X enthalten ist. Wenn spätere Versionen von Python verwendet werden sollen oder wenn Hauptpakete wie PyQT, Numpy, Matplotlib und dergleichen verwendet werden, wird empfohlen, sie mit zu installieren entweder MacPorts oder Homebrew .

Installation aus dem Archiv
Wenn pip nicht verfügbar ist, laden Sie das komprimierte Archiv von PyPI herunter .
Laden Sie zum Testen der Entwicklungsversion das komprimierte Archiv vom Entwicklungszweig der PyInstaller-Downloadseite herunter .

Erweitern Sie das Archiv und suchen Sie das Skript setup.py . python setup.py install mit Administratorrechten aus, um PyInstaller zu installieren oder zu aktualisieren.

Installation überprüfen
Der Befehl pyinstaller sollte nach erfolgreicher Installation für alle Plattformen im pyinstaller vorhanden sein.
Überprüfen Sie dies, indem pyinstaller --version in der Befehlszeile pyinstaller --version eingeben. Dadurch wird die aktuelle Version von pyinstaller gedruckt.

Pyinstaller verwenden

Navigieren Sie im einfachsten Anwendungsfall einfach zu dem Verzeichnis, in dem sich Ihre Datei befindet, und geben Sie Folgendes ein:

pyinstaller myfile.py

Pyinstaller analysiert die Datei und erstellt:

  • Eine Datei myfile.spec im selben Verzeichnis wie myfile.py
  • Ein Build- Ordner im selben Verzeichnis wie myfile.py
  • Ein dist- Ordner im selben Verzeichnis wie myfile.py
  • Protokolldateien im Erstellungsordner

Die mitgelieferte App befindet sich im Ordner dist

Optionen
Es gibt verschiedene Optionen, die mit dem pyinstaller verwendet werden können. Eine vollständige Liste der Optionen finden Sie hier .

Einmal gebündelt kann Ihre App ausgeführt werden, indem Sie 'dist \ myfile \ myfile.exe' öffnen.

In einem Ordner bündeln

Wenn PyInstaller ohne Optionen zum myscript.py , ist die Standardausgabe ein einzelner Ordner (namens myscript ), der eine ausführbare Datei namens myscript (in Windows myscript.exe ) mit allen erforderlichen Abhängigkeiten enthält.
Die App kann verteilt werden, indem der Ordner in eine ZIP-Datei komprimiert wird.

Ein Ordnermodus kann explizit mit der Option -D oder --onedir

pyinstaller myscript.py -D

Vorteile:

Einer der Hauptvorteile der Bündelung in einem einzigen Ordner besteht darin, dass Probleme leichter zu debuggen sind. Wenn ein Modul nicht importiert werden kann, kann dies durch Überprüfen des Ordners überprüft werden.
Ein weiterer Vorteil ist bei Updates zu spüren. Wenn der Code einige Änderungen enthält, die verwendeten Abhängigkeiten jedoch genau gleich sind, können Verteiler die ausführbare Datei (die normalerweise kleiner als der gesamte Ordner ist) versenden.

Nachteile

Der einzige Nachteil dieser Methode besteht darin, dass die Benutzer unter einer großen Anzahl von Dateien nach der ausführbaren Datei suchen müssen.
Benutzer können auch andere Dateien löschen / ändern, was dazu führen kann, dass die App nicht ordnungsgemäß funktioniert.

Bündeln in eine einzelne Datei

pyinstaller myscript.py -F

Die Optionen zum Generieren einer einzelnen Datei sind -F oder --onefile . Dadurch wird das Programm in einer einzigen myscript.exe Datei zusammengefasst.

Eine einzelne Datei ist langsamer als das Ein-Ordner-Paket. Sie sind auch schwieriger zu debuggen.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow