[PYTHON] Konvertieren Sie mit pyinstaller ein Programm, das die Client-Bibliothek von Google in .exe importiert

Ich musste ein Programm, das Google Speech to Text verwendet, in .exe konvertieren, war aber süchtig danach und machte mir eine Notiz.

Umgebung

OS Windows10 (Bei pipenv) Python 3.7.4 pyinstaller 3.6

Befehl ausgeführt

*** Konvertiere test.py in .exe. Angenommen, ***

pyinstaller test.py --onefile

ERROR1 Wenn ich es normal ausführe, erhalte ich zunächst den folgenden Fehler

pkg_resources.DistributionNotFound: The 'google-cloud-core' distribution was not found and is required by the application

Dieser Fehler kann behoben werden, indem Sie beim Start die Option "--additional-hooks-dir" verwenden, eine Datei wie die folgende erstellen und den Pfad zum Ordner angeben. Ich sehe oft Artikel wie diesen, aber *** Ich konnte es in meiner Umgebung nicht lösen. *** ***

hook-google.cloud.py


from PyInstaller.utils.hooks import copy_metadata
try:    datas = copy_metadata('google-cloud-core')
except: datas = copy_metadata('google-cloud-speech')

↓ Ich erhalte diesen Fehler

    assert self.hook_module_name not in HOOKS_MODULE_NAMES
AssertionError

Dieses Problem wurde normalerweise durch erneutes Installieren von Google-Cloud-Core behoben. .. ..

pip install google-cloud-core

ERROR2 Nach der Installation von Google-Cloud-Core kann es ausgeführt werden und es wird auch die EXE-Datei generiert. Wenn jedoch die generierte EXE-Datei ausgeführt wird, wird diesmal der folgende Fehler (oder die folgende Ausnahme?) Angezeigt.

Exception ignored in: 'grpc._cython.cygrpc.ssl_roots_override_callback'
E0603 18:31:14.600000000 16632 src/core/lib/security/security_connector/ssl_utils.cc:482] assertion failed: pem_root_certs != nullptr

Es scheint sich um eine Lizenzauthentifizierung zu handeln. Wenn Sie hier einen Ordner namens hooks in derselben Hierarchie wie test.py erstellen und die folgenden Dateien darin erstellen und installieren,

hook-grpc.py


from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files('grpc')

Wenn Sie es mit dem folgenden Befehl neu erstellen, wird es nicht angezeigt

pyinstaller test.py --onefile --additional-hooks-dir=./hooks/

Referenz

https://github.com/pyinstaller/pyinstaller/issues/3935 https://teratail.com/questions/201443 https://teratail.com/questions/118297 https://qiita.com/akitooo/items/eb82a5f335d8ca9c9faf https://stackoverflow.com/questions/54634035/my-pyinstaller-is-giving-assertion-error-when-i-execute-it https://stackoverflow.com/questions/40076795/pyinstaller-file-fails-to-execute-script-distributionnotfound https://www.bountysource.com/issues/86848733-pyinstaller-3-6-assertionerror https://github.com/googleapis/google-cloud-python/issues/5774

Recommended Posts

Konvertieren Sie mit pyinstaller ein Programm, das die Client-Bibliothek von Google in .exe importiert
PyInstaller-Memorandum Konvertieren Sie Python [.py] in [.exe] mit 2 Zeilen
So erhalten Sie das Verzeichnis, in dem die mit Pyinstaller erstellte EXE-Datei vorhanden ist
EXE die mit PyQt5 mit PyInstaller erstellte Anwendung
Ich habe versucht, die Python-Bibliothek "pykakasi" zu verwenden, die Kanji in Romaji konvertieren kann.
Ich möchte ein Programm ausführen und verteilen, das die Größe von Bildern in Python3 + Pyinstaller ändert
Konvertieren Sie das Bild in .zip mit Python in PDF
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Versuchen Sie, mit dem Uprobe zu spielen, der Systemtap direkt unterstützt
Einstellungen zum Eingeben und Debuggen des Inhalts der Bibliothek mit VS-Code
Konvertieren Sie Bilder mit PIL (Python Imaging Library) in Sepia.
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
[Golang] Ein Programm, das die Runde mit Zufallszahlen bestimmt
Die Geschichte, den privaten Schlüssel mit chmod auf 600 zu setzen
So starten Sie die erste Projektion
Wenn ich die exe-Datei mit pyinstaller ausführe, stürzt mein PC ab.
Schreiben Sie ein Programm, das das Programm missbraucht und 100 E-Mails sendet
Vorerst möchte ich jede Datei mit ffmpeg konvertieren !!
Ich habe ein Programm erstellt, das den Tierkreis mit tkinter automatisch berechnet
Konvertieren Sie in PyTorch geschriebenes Python-Skript mit PyInstaller in exe
[Python] Ein Programm, das den Inhalt der Liste nach links dreht