it-swarm.com.de

ImportError: Kein Modul mit dem Namen google.oauth2

Ich wollte meinem Projekt eine google.cloud.storage-Abhängigkeit hinzufügen, also habe ich versucht, diese Abhängigkeit mit zu installieren

pip install --upgrade google-cloud-storage

Wenn Sie meine App erneut mit dev_appserver ausführen, wird mir angezeigt, dass meine gcloud-Komponenten aktualisiert werden mussten. Ok also gcloud components update

In meiner src/__init__.py-Datei erhielt ich den Code, der gcloud mitteilt, in welchem ​​Ordner nach Abhängigkeiten wie diesem gesucht werden soll:

from google.appengine.ext import vendor

vendor.add('src/libs')

Alle Abhängigkeiten werden korrekt installiert, mit der Ausnahme, dass der Fehler ImportError: No module named google.oauth2 angezeigt wird.

PS: Meine App verwendet OAuth2, um den Zugriff auf die API zu sichern. Und es funktionierte einwandfrei, bevor ich ein Komponenten-Update durchführe. Jetzt, selbst wenn ich Code rolle, den libs-Ordner entferne und Abhängigkeiten wieder installiere, bekam ich immer noch den No-Modul-Fehler, und es scheint, als würde dev_appserver nicht innerhalb der libs nach dieser Abhängigkeit suchen Mappe !

Hier ist das Ergebnis von gcloud --version:

Google Cloud SDK 188.0.1
app-engine-python 1.9.66
app-engine-python-extras 1.9.63
bq 2.0.28
core 2018.02.08
gsutil 4.28

Und hier ist der Traceback:

Traceback (most recent call last):
  File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 96, in LoadObject
    __import__(cumulative_path)
  File "/home/headless/Documents/Projects/meterFleet/app-backend/src/main.py", line 5, in <module>
    from src.app.user.api import UserApi
  File "/home/headless/Documents/Projects/meterFleet/app-backend/src/app/user/api.py", line 7, in <module>
    from src.googleapis.iam import getIamPolicy, addIapUser, deleteIapUser
  File "/home/headless/Documents/Projects/meterFleet/app-backend/src/googleapis/iam.py", line 5, in <module>
    from src.common.authentication import OAuth
  File "/home/headless/Documents/Projects/meterFleet/app-backend/src/common/authentication.py", line 3, in <module>
    from google.oauth2 import service_account
  File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/sandbox.py", line 1147, in load_module
    raise ImportError('No module named %s' % fullname)
ImportError: No module named google.oauth2
4
Mehdi Benmoha

Das Problem bestand darin, dass die Abhängigkeiten im Projektordner (im Ordner src/libs) und im lokalen Python-Bibliotheksordner (/usr/local/python2.7/dist-packages) installiert wurden. Ich habe die Google-Bibliotheken aus dem Python-Bibliotheksordner entfernt und jetzt funktioniert es wieder! 

4
Mehdi Benmoha

Ich habe diese Ausgabe ziemlich viel gehabt. Ich habe alle Google-Pakete von meinem lokalen Computer deinstalliert, den lib-Ordner in meinem GAE-App-Ordner gelöscht, neu erstellt und dann ausgeführt: 

pip install -t lib google-auth google-auth-httplib2 google-api-python-client --upgrade

Das sollte dein Problem beheben.

3
ethanenglish

Ich entschied mich für die Lösung dieses Problems mit pipenv . pip3 install pipenv pipenv install pipenv Shell Dann installiere ich die benötigten Bibliotheken.

0
Adam Mendoza