[PYTHON] Une histoire sur une erreur lorsque PyInstaller est utilisé dans un programme qui utilise googleapiclient

problème

Lorsque j'ai essayé de convertir un programme qui utilise Google Api (feuille de calcul) en un fichier exécutable avec PyInstaller, j'ai pu le compiler, mais une erreur s'est produite lors de l'exécution. Le programme compilé est le suivant

main.py


from googleapiclient.discovery import build
#Ce qui suit est omis

ici,

pyinstaller --onefile main.py
./dist/main #Compilation réussie et fichier exécutable

Maintenant, lorsque vous exécutez le fichier exécutable,

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:

Solutions

Définissez la version de google-api-client sur *** 1.8.0 ***. Le but est de faire ce qui suit:

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

Quelle solution révolutionnaire! !! !! !!

Détails

Pour référence uniquement, l'environnement d'exécution est

en conclusion

Lors de l'utilisation de google-could-vision ou Firestore, j'ai vu un article sur des erreurs similaires, mais cela n'a pas été très utile. Dans chaque exemple, j'ai rencontré pkg_resources.DistributionNotFound, donc j'ai pensé que je pourrais utiliser la même solution, mais je ne pouvais pas du tout le faire et le temps a fondu. Après tout, il a été résolu par issue discussion sur github de google-api-client. J'ai essayé cx_Freeze comme alternative à PyInstaller, mais je ne pouvais pas le faire après tout. Je ne sais pas combien de temps ce problème se produira (jusqu'à ce que PyInstaller / Google réponde?), Et je ne sais pas combien de temps cette méthode le résoudra, alors veuillez l'utiliser comme référence. Je voulais aussi que Python établisse une méthode pour les fichiers exécutables officiellement (multiplateformes) comme Golang.

Recommended Posts

Une histoire sur une erreur lorsque PyInstaller est utilisé dans un programme qui utilise googleapiclient
Une histoire qui a cessé de fonctionner sur mglearn.plots.plot_nmf_faces et qui se demandait s'il s'agissait d'une erreur?
L'histoire de l'erreur de hachage est apparue lors de l'utilisation de Pipenv
Une histoire sur une erreur de construction dans une bibliothèque partagée qui fait référence à libusb
Une erreur s'est produite dans l'imputer de scikit-learn
Lors de l'écriture d'un programme en Python
Erreur lors de l'appel du module tkinter dans un éditeur de texte ne fonctionne pas comme prévu
L'histoire d'une erreur dans PyOCR
[Python3] Code qui peut être utilisé lorsque vous souhaitez découper une image dans une taille spécifique
L'histoire d'une erreur dans l'installation de pyenv (c'est une histoire épique, et la cause critique est inconnue après tout)
Dans le tutoriel Chainer, j'obtiens une erreur lors de l'importation d'un package. (moquer)
Une histoire à laquelle j'étais accro après la communication SFTP avec python
Erreur survenue dans OpenCV3 et sa solution Précautions lors de l'utilisation d'OpenCV3 sur Mac
Quand j'obtiens une erreur de pilote chrome dans Selenium
Détails des erreurs et contre-mesures survenues dans OpenCv2 lors de l'exécution de l'exemple de programme de reconnaissance d'objets de "Détection d'objets sur les outils"
Créer un environnement qui utilise Python avec Eclipse
Un programme qui supprime les instructions en double en Python
Créez un fichier exe qui fonctionne dans un environnement Windows sans Python avec PyInstaller
Convertir une chaîne de chemin qui utilise un lien symbolique au milieu en un chemin absolu
Une histoire sur une erreur lors du chargement d'un modèle TensorFlow créé avec Google Colab localement
Erreur dans Pyinstaller
Une histoire que Seaborn était facile, pratique et impressionnée
J'obtiens une erreur lorsque je mets opencv dans pyautoGUI
Que contient cette variable (lorsque le script Python est en cours d'exécution)
Programme Shell qui devient aho par multiples de 3
Une histoire à laquelle j'étais accro chez np.where
Un mémorandum lorsqu'une erreur se produit avec pip install
Lorsqu'une erreur se produit dans le scraping python (requêtes)
Une histoire qui était terrible si SELinux était correctement désactivé
L'histoire de PHP qui était correcte dans l'environnement de développement mais boguée dans l'environnement de production LEVEL1 ~ 3 + 1
Résumé des points à garder à l'esprit lors de l'écriture d'un programme qui s'exécute sur Python 2.5
Une histoire qui a disparu quand j'ai spécifié un chemin commençant par tilda (~) en python open
Une histoire à laquelle j'étais accro en spécifiant nil comme argument de fonction dans Go