[PYTHON] Eine Geschichte über einen Fehler, wenn PyInstaller in einem Programm verwendet wird, das googleapiclient verwendet

Problem

Als ich versuchte, ein Programm, das Google Api (Tabellenkalkulation) verwendet, mit PyInstaller in eine ausführbare Datei zu konvertieren, konnte ich es kompilieren, aber zur Laufzeit trat ein Fehler auf. Das kompilierte Programm ist wie folgt

main.py


from googleapiclient.discovery import build
#Folgendes wird weggelassen

Hier,

pyinstaller --onefile main.py
./dist/main #Erfolgreiche Kompilierung und eine ausführbare Datei

Wenn Sie nun die ausführbare Datei ausführen,

pkg_resources.DistributionNotFound: The 'google-api-python-client' distribution was not found and is required by the application

:middle_finger_tone2::laughing::middle_finger_tone2:

Lösungen

Stellen Sie die Version von google-api-client auf *** 1.8.0 *** ein. Es geht darum, Folgendes zu tun:

pip install google-api-python-client==1.8.0

Was für eine bahnbrechende Lösung! !! !! !!

Einzelheiten

Nur als Referenz ist die Ausführungsumgebung

abschließend

Bei der Verwendung von Google-könnte-Vision oder Firestore habe ich einen Artikel über ähnliche Fehler gesehen, der jedoch nicht sehr hilfreich war. In jedem Beispiel bin ich auf "pkg_resources.DistributionNotFound" gestoßen, also dachte ich, ich könnte mit der gleichen Lösung arbeiten, aber ich konnte es überhaupt nicht und die Zeit schmolz. Immerhin wurde es durch Problemdiskussion auf Github von Google-API-Client gelöst. Ich habe cx_Freeze als Alternative zu PyInstaller ausprobiert, konnte es aber doch nicht. Ich weiß nicht, wie lange dieses Problem auftreten wird (bis PyInstaller / Google antwortet?), Und ich weiß nicht, wie lange diese Methode es lösen wird. Verwenden Sie es daher als Referenz. Ich wollte auch, dass Python eine Methode für offiziell (plattformübergreifende) ausführbare Dateien wie Golang etabliert.

Recommended Posts

Eine Geschichte über einen Fehler, wenn PyInstaller in einem Programm verwendet wird, das googleapiclient verwendet
Eine Geschichte, die bei mglearn.plots.plot_nmf_faces nicht mehr funktioniert und sich gefragt hat, ob es sich um einen Fehler handelt?
Die Geschichte, dass ein Hash-Fehler bei der Verwendung von Pipenv auftrat
Eine Geschichte über einen Erstellungsfehler in einer gemeinsam genutzten Bibliothek, die auf libusb verweist
Beim Imputator von Scikit-Learn ist ein Fehler aufgetreten
Beim Schreiben eines Programms in Python
Der Fehler beim Aufrufen des tkinter-Moduls in einem Texteditor funktioniert nicht wie erwartet
Die Geschichte eines Fehlers in PyOCR
[Python3] Code, der verwendet werden kann, wenn Sie ein Bild in einer bestimmten Größe ausschneiden möchten
Die Geschichte, dass bei der Installation von pyenv ein Fehler aufgetreten ist (Es ist eine epische Geschichte, und die kritische Ursache ist schließlich unbekannt).
Im Chainer-Tutorial wird beim Importieren eines Pakets eine Fehlermeldung angezeigt. (spotten)
Eine Geschichte, der ich nach der SFTP-Kommunikation mit Python verfallen war
Fehler, der in OpenCV3 und seiner Lösung aufgetreten ist. Vorsichtsmaßnahmen bei Verwendung von OpenCV3 auf dem Mac
Wenn ich einen Chrom-Treiberfehler in Selenium bekomme
Fehlerdetails und Gegenmaßnahmen, die in OpenCv2 beim Ausführen des Objekterkennungs-Beispielprogramms von "Object Detect on Tools" aufgetreten sind.
Erstellen einer Umgebung, die Python mit Eclipse verwendet
Ein Programm, das doppelte Anweisungen in Python entfernt
Erstellen Sie mit PyInstaller eine exe-Datei, die in einer Windows-Umgebung ohne Python funktioniert
Konvertieren Sie eine Pfadzeichenfolge, die einen symbolischen Link in der Mitte verwendet, in einen absoluten Pfad
Eine Geschichte über einen Fehler beim Laden eines TensorFlow-Modells, das lokal mit Google Colab erstellt wurde
Fehler im Pyinstaller
Eine Geschichte, die Seaborn einfach, bequem und beeindruckt war
Ich erhalte eine Fehlermeldung, wenn ich opencv in pyautoGUI einfüge
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Shell-Programm, das in Vielfachen von 3 aho wird
Eine Geschichte, von der ich bei np.where süchtig war
Ein Memorandum, wenn bei der Pip-Installation ein Fehler auftritt
Wenn beim Python-Scraping ein Fehler auftritt (Anforderungen)
Eine Geschichte, die schrecklich war, wenn SELinux richtig deaktiviert war
Die Geschichte von PHP, die in der Entwicklungsumgebung in Ordnung war, in der Produktionsumgebung jedoch fehlerhaft LEVEL1 ~ 3 + 1
Zusammenfassung der Punkte, die beim Schreiben eines Programms zu beachten sind, das unter Python 2.5 ausgeführt wird
Eine Geschichte, die verschwunden ist, als ich einen Pfad angegeben habe, der mit tilda (~) in Python Open beginnt
Eine Geschichte, nach der ich süchtig war, als ich in Go nil als Funktionsargument angab