J'essaie actuellement de construire une application avec Pyinstaller. J'ai eu l'erreur The 'google-api-python-client' distribution was not found and is required by the application
et je suis complètement perdu pourquoi.
En cours pip show google-api-python-client
résultats avec
Name: google-api-python-client
Version: 1.8.2
Summary: Google API Client Library for Python
Home-page: http://github.com/google/google-api-python-client/
Author: Google LLC
Author-email: [email protected]
License: Apache 2.0
Location: c:\dev\software\schoology_scrape\schoology_scrape_venv\lib\site-packages
Requires: google-auth-httplib2, uritemplate, google-auth, google-api-core, httplib2, six
Required-by:
J'ai aussi un fichier configuratif.txt avec toutes les bibliothèques utilisées dans le projet
Toute aide serait grandement appréciée!
Il suffit littéralement dans cette question sur Windows, tandis que Macos est correct. Je suis en train de bâtir avec FBS et PYQT5 .
google-api-python-client
n'est pas un python Module, mais une ressource, ce qui signifie que vous ne pouvez pas l'injecter comme une importation cachée. googleapiclient.model
lit les informations de distribution de google-api-python-client
Dossier en tant que ressource emballée.
Votre erreur complète pourrait se rapprocher de ceci:
...
File "c:\python36\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\googleapiclient\http.py", line 67, in <module>
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "c:\python36\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\googleapiclient\model.py", line 36, in <module>
File "site-packages\pkg_resources\__init__.py", line 479, in get_distribution
File "site-packages\pkg_resources\__init__.py", line 355, in get_provider
File "site-packages\pkg_resources\__init__.py", line 898, in require
File "site-packages\pkg_resources\__init__.py", line 784, in resolve
pkg_resources.DistributionNotFound: The 'google-api-python-client' distribution was not found and is required by the application
google_api_python_client-*/
<pythonInstallLocation>/lib/site-packages/
google_api_python_client-*/
Dans le répertoire de ressources SRC de votre application. Pour fbs
Cela peut être soit: [.____]src/freeze/windows/
(recommandé), ousrc/resources/windows/
Maintenant quand vous fbs freeze
et par la suite fbs installer
votre application, le google_api_python_client-*/
sera inclus dans le répertoire de l'application construite aux côtés d'autres googleapiclient
python bibliothèques, et l'erreur devrait disparaître.
Voir: Structure de répertoire de projet FBS
Si votre solution d'emballage n'a pas de crochets similaires comme ci-dessus, alors:
google_api_python_client-*/
Dossier de <pythonInstallLocation>/lib/site-packages/
Dans le répertoire de l'application construite (ou partout où votre compilé python Les scripts tentent d'accéder à google-api-python-client
.Si vous codez à l'aide de Pycham, faites le suivant:
$ pip3 freeze
dans le terminalJe voulais juste ajouter à @joeyipanimation répondre car cela m'a aidé à résoudre le problème après les heures. Recherchez sur Google_API_PYTHON_CLIENT-1.9.39.3.DIST-INFO dans votre dossier EXE ou votre zone de diffusion, et copiez-le dans le dossier principal de l'endroit où l'EXE est.