Erstellen Sie mit PyInstaller eine exe-Datei, die in einer Windows-Umgebung ohne Python funktioniert

Ein Memo, das versucht und fehlerhaft ausgeführt wurde, um das erstellte maschinelle Lernprogramm in einer Windows-Umgebung auszuführen, in der Python nicht installiert ist.

Die Umgebung ist wie folgt

Grundlegende Verwendung von PyInstaller

Installation

$ pip install pyinstaller

exe Dateierstellung

$ pyinstaller main.py --onefile

Damit werden auch die Python-Ausführungsumgebung und zugehörige Bibliotheken in einer exe-Datei zusammengefasst.

Wenn jedoch eine Abhängigkeit besteht, die PyInstaller nicht auflösen kann, gibt die erstellte exe-Datei einen Fehler aus.

Erstellen Sie in diesem Fall ohne die Option "--onefile" und lösen Sie die folgenden zwei Punkte nacheinander.

Wenn exe nicht mit Pyinstaller konvertiert werden kann

Ich bekomme * .so nicht gefunden

Sie importieren nicht die Binärdateien der externen Bibliotheken, die davon abhängen. Es scheint, dass PyInstaller automatisch importiert, worauf direkt verwiesen wird, aber es scheint, dass nicht berücksichtigt wird, worauf indirekt verwiesen wird. Sie können angeben, dass explizit mit der Option "--add-binary" eingeschlossen werden soll. Beachten Sie, dass die Methode zur Angabe des Pfads etwas Besonderes ist

--add-binary "<Relativer Pfad der SO-Quelldatei>;<Relativer Laufzeitpfad des Zielverzeichnisses>"

Die Art und Weise, den Pfad anzugeben, sollte korrekt beschrieben worden sein, ist jedoch nicht richtig platziert

Der Cache schien schlecht zu sein, daher wurde er mit der Option "--clean" wie angegeben platziert.

Ich bekomme einen "ModuleNotFoundError"

Ebenso wird die externe Bibliothek auch hier nicht importiert. Es scheint, dass derjenige, auf den indirekt im Python-Bibliothekssystem verwiesen wird, entspricht. Sie können es mit verstecktem Import angeben, wenn Sie pyinstaller ausführen. Wiederholen Sie beim Hinzufügen die exe-Konvertierung und fahren Sie fort, bis ModuleNotFoundError verschwindet.

Als ich zum Beispiel ein Textklassifizierungsprogramm mit Tensorflow erstellt habe, sah es so aus.

$ pyinstaller main.py ¥
--hidden-import=tensorflow.python.keras.engine.base_layer_v1 ¥
--hidden-import=tensorflow.python.ops.while_v2 ¥
--hidden-import=tensorflow.python.ops.numpy_ops

Letzte Pyinstaller-Laufzeitoptionen

Zum Beispiel sieht es so aus.

$ pyinstaller main.py --onefile -y --clean \
   --hidden-import=tensorflow.python.keras.engine.base_layer_v1 \
   --hidden-import=tensorflow.python.ops.while_v2 \
   --hidden-import=tensorflow.python.ops.numpy_ops \
   --add-binary "../../../../AppData/Local/Programs/Python/Python36/lib/site-packages/tensorflow/lite/experimental/microfrontend/python/ops/_audio_microfrontend_op.so;tensorflow/lite/experimental/microfrontend/python/ops" 

Recommended Posts

Erstellen Sie mit PyInstaller eine exe-Datei, die in einer Windows-Umgebung ohne Python funktioniert
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Erstellen einer exe-Datei mit Python PyInstaller: PC friert bei paralleler Verarbeitung ein
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen Sie eine Binärdatei in Python
Erstellen Sie eine Windows Python-Ausführungsumgebung mit VScode + Remote WSL
Erstellen Sie schnell eine Excel-Datei mit Python #python
Erstellen einer Python 3.6-Umgebung mit Windows + PowerShell
[GPS] Erstellen Sie eine kml-Datei mit Python
Vorgehensweise zum Erstellen einer virtuellen Python-Umgebung mit VS-Code unter Windows
Erstellen Sie in 1 Minute eine Vim + Python-Testumgebung
Erstellen Sie eine GIF-Datei mit Pillow in Python
Erstellen Sie eine App, die Schüler mit Python errät
Erstellen einer Umgebung, die Python mit Eclipse verwendet
Erstellen Sie eine Datei, die in der Skriptsprache ausgeführt werden kann
So erstellen Sie eine JSON-Datei in Python
Erstellen Sie eine Umgebung mit 64-Bit-Windows + Python 2.7 + MeCab 0.996
Erstellen Sie eine Seite, die unbegrenzt mit Python geladen wird
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Entwickeln Sie Windows-Apps mit Python 3 + Tkinter (exe-Datei)
Erstellen Sie ein Bild mit Zeichen mit Python (Japanisch)
GUI (WxPython) Ausführungsdatei (pyInstaller) [Windows] in Python3
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Erstellen Sie mit Python eine Datei im Photoshop-Format (.psd)
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
[Docker] Erstellen Sie in 3 Minuten eine jupyterLab (Python) -Umgebung!
Ein Skript, das Tweets mit Python abruft, sie in einer externen Datei speichert und morphologische Analysen durchführt.
Testen Sie das Hochladen von Bildern, indem Sie in Python erstellen, ohne Dummy-Bilddateien in Django zu platzieren
Erstellen Sie in Python ein elliptisches Streudiagramm, ohne eine multivariate Normalverteilung zu verwenden
Erstellen Sie eine Python-Umgebung
Erstellen Sie eine komfortable Python 3 (Anaconda) -Entwicklungsumgebung mit Windows
Erstellen Sie eine Python-Entwicklungsumgebung mit Vagrant + Ansible + Fabric
Erstellen Sie in Python einen Dekorator, der Argumente dynamisch akzeptiert. Erstellen Sie einen Dekorator
Erstellen Sie eine Open AI Gym-Umgebung mit Bash unter Windows 10
Führen Sie eine Python-Datei mit relativem Import in PyCharm aus
[Python] Erstellen Sie mit cx_Freeze eine Verteilungsdatei für das Tkinter-Programm
Erstellen Sie unter Windows eine anständige Shell- und Python-Umgebung
Erstellen Sie mit Quarry einen gefälschten Minecraft-Server in Python
Erstellen Sie eine 2D-CAD-Datei ".dxf" mit Python [ezdxf]
Ich habe versucht, eine Umgebung mit WSL + Ubuntu + VS-Code in einer Windows-Umgebung zu erstellen
Eine Geschichte darüber, wie Windows 10-Benutzer eine Umgebung für die Verwendung von OpenCV3 mit Python 3.5 erstellt haben
Bestätigen Sie das Überschreiben der Datei mit der Option, das Dateiobjekt als Argument mit Python argparse zu verwenden
Bis Sie mit Python unter Windows 7 eine maschinelle Lernumgebung erstellen und ausführen
Erstellen Sie eine Umgebung mit virtualenv
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie ein Verzeichnis mit Python
Versuchen Sie, Python in der mit pipenv erstellten Django-Umgebung auszuführen
[Python] Erstellen Sie mit tkinter einen Bildschirm zur Datei- und Ordnerpfadspezifikation
Erstellen Sie einen lokalen Bereich in Python, ohne den Namespace zu verschmutzen
Erstellen Sie ein untergeordnetes Konto für die Verbindung mit Stripe in Python
Erstellen Sie den Code, der in Python "A und vorgeben B" ausgibt