Ich musste ein Programm, das Google Speech to Text verwendet, in .exe konvertieren, war aber süchtig danach und machte mir eine Notiz.
OS Windows10 (Bei pipenv) Python 3.7.4 pyinstaller 3.6
*** 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/
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