webentwicklung-frage-antwort-db.com.de

So verhindern Sie "ImportError: Kein Modul namens oauth2client.client" in Google App Engine

Wir erhalten eine Fehlermeldung:

ImportError: Kein Modul mit dem Namen OAuth2Client

Wir haben eine Vielzahl von Fragen zu diesem Thema festgestellt, viele davon unbeantwortet und mindestens eine Antwort, die die Lösung des Kopierens von Dateien aus dem Google App Engine-SDK beschreibt. 

Dieser Ansatz erscheint jedoch langwierig, da alle Abhängigkeiten unklar sind. Wenn wir oauth2client kopieren und ausführen, ist der nächste Fehler ein anderes Modul, das fehlt. Beheben Sie das, dann fehlt ein anderes Modul usw. usw. 

Ironisch ist, dass wir alle benötigten Dateien und Module sehen können, die in Google App Engine SDK direkt in PyCharm aufgeführt sind, aber für das Skript nicht zugänglich sind.

Gibt es keine bessere Möglichkeit, alle Dateien abzurufen, die oauth2client für Python für App Engine benötigt? 

7
Praxiteles

Die Antwort lautet "Anbieter" in den Dateien.

Basierend auf dieser Dokumentation haben wir einen schnellen Weg gefunden, dies zu lösen https://cloud.google.com/appengine/docs/python/tools/libraries27#vendoring und dies SO answer =.

  1. Erstellen Sie einen neuen Ordner mit dem Namen " lib " im selben Ordner wie Ihre app.yaml-Datei. (Sie können es auch anders benennen. Verwenden Sie einfach diesen Namen unten.)

  2. Erstellen Sie eine leere Datei mit dem Namen appengine_config.py im selben Ordner wie Ihre Datei app.yaml

  3. Fügen Sie dieser Datei appengine_config.py zwei Zeilen hinzu:

    from google.appengine.ext import vendor vendor.add('lib')

  4. Navigieren Sie vom Terminal zu dem Verzeichnis, das diese Datei enthält, und führen Sie den folgenden Befehl aus:

    Sudo pip install -t lib google-api-python-client

Der Importfehler verschwindet und Sie haben auch alle untergeordneten Module.

6
Praxiteles

Ich habe dieses Problem und habe es gelöst, indem ich oauth2client mit pip3 installiere:

pip3 install --upgrade oauth2client 
24
Sadegh-khan

Versuchen Sie dies gemäß google-api-pythondocumentation

pip install --upgrade google-api-python-client oauth2client
2
Sumithran

Installiere die WHL Datei

pip install oauth2client-4.1.3-py2.py3-none-any.whl
0
Luis Fernando

Führen Sie das aus

Sudo python -m pip install oauth2client

0
Rahul Bhat