web-dev-qa-db-fra.com

Comment résoudre "Importerror: aucun module nommé google.auth"?

Je gère localement un environnement de moteur d'application standard via dev_appserver et ne peut pas vous débarrasser de l'erreur suivante:

ImporterRor: Aucun module nommé Google.Auth

Traceback complet (les détails personnels remplacés avec ...):

Traceback (most recent call last):
  File "/Users/.../google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/Users/.../google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/Users/.../google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/Users/.../.../main.py", line 6, in <module>
    from services.get_campaigns import get_campaigns
  File "/Users/.../.../get_campaigns.py", line 3, in <module>
    from googleads import adwords
  File "/Users/.../.../lib/googleads/__init__.py", line 17, in <module>
    from ad_manager import AdManagerClient
  File "/Users/.../lib/googleads/ad_manager.py", line 28, in <module>
    import googleads.common
  File "/Users/.../lib/googleads/common.py", line 51, in <module>
    import googleads.oauth2
  File "/Users/.../lib/googleads/oauth2.py", line 28, in <module>
    import google.auth.transport.requests
  File "/Users/.../google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/sandbox.py", line 1154, in load_module
    raise ImportError('No module named %s' % fullname)
ImportError: No module named google.auth

J'ai installé Google.Auth, comme pip show google.auth spectacles:

Name: google-auth
Version: 1.6.3
Summary: Google Authentication Library
Home-page: https://github.com/GoogleCloudPlatform/google-auth-library-python
Author: Google Cloud Platform
Author-email: [email protected]
License: Apache 2.0
Location: /Users/.../Library/Python/2.7/lib/python/site-packages
Requires: rsa, pyasn1-modules, cachetools, six
Required-by: googleads, google-auth-oauthlib, google-auth-httplib2, google-api-python-client

J'ai déjà mis à niveau tous les modules nécessitant Google.Auth Googleads, Google-Auth-Oauthlib, Google-Auth-Httplib2, Google-Api-Python-Clien T - mais sans résultats.

Je ne suis pas tout à fait sûr des actions suivantes à prendre pour déboguer cette question. Toute personne ici peut me signaler dans la bonne direction?

5
Stiño

Ton google.auth est installé dans le fichier Python packages de site, pas dans votre application:

Lieu: /USERSERS/.../LIBRARY/PYTHON/2.7/LIB/PYTHON/SITE-PACKAGES

Vous devez installer votre application python dépendances à la place de votre application - Notez le -t lib/ Option PIP dans le Copie d'une bibliothèque tiers procédure à suivre:

  1. Utilisez PIP (version 6 ou ultérieure) avec le -t <directory> Drapeau pour copier les bibliothèques dans le dossier que vous avez créé à l'étape précédente. Par exemple:

    pip install -t lib/ <library_name>
    
1
Dan Cornilescu

Après beaucoup d'essais et d'erreurs, j'ai trouvé le bogue: A python Version d'exécution.

Dans mon fichier APP.YAML, j'avais spécifié:

service: default
runtime: python27
api_version: 1
threadsafe: false

Là j'ai changé de runtime à:

runtime: python37

Merci à @alassanendiaye pour me faire remarquer dans cette direction dans les commentaires.

0
Stiño