Ich habe diesen Fehler in Python von Google App Engine erhalten. Ich habe die Google Übersetzer-API verwendet. Ich weiß jedoch nicht, wie ich das beheben soll.
<module>
from apiclient.discovery import build
ImportError: No module named apiclient.discovery
Ich werde versuchen , Set - Umgebung , die auf Google App Engine SDK gibt an , Und wieder auf Google Apps Engine hochladen, immer den Fehler ,
Fehler: Serverfehler
Der Server hat einen Fehler festgestellt und konnte Ihre Anfrage nicht abschließen. Wenn das Problem weiterhin besteht, melden Sie Ihr Problem und erwähnen Sie diese Fehlermeldung und die Abfrage, die es verursacht hat.
Bitte sagen Sie mir, wie zu beheben,
Vielen Dank
UPDATE: Behoben Befolgen Sie die Hilfe von Nijjin. Ich habe Probleme behoben, indem ich die folgenden Ordner hinzugefügt habe:
apiclient, gflags, httplib2, oauth2client, uritemplate
Wenn Sie immer noch ein Problem haben, lesen Sie bitte die Antwort auf dieser Seite, um weitere Informationen zu erhalten. Ex. : Varum Antwort, etc ...
apiclient
das Codeverzeichnis in Ihr Appengine-Projekt aufgenommen?pip show PyDrive
Antworten:
Sie sollten in der Lage sein, diese Abhängigkeiten mit dieser einfachen Installation zu erhalten:
Dies wird auf der Schnellstartseite für Python beschrieben .
quelle
C:\>C:\Python27\Scripts\easy_install-script.py --upgrade google-api-python-client
und es stehtInstalled c:\python27\lib\site-packages\google_api_python_client-1.3.1-py2.7.egg
und versucht erneut zu installierengoogle-api-python-client 1.3.1 is already the active version in easy-install.pth
sudo
bei mir funktioniert hat.sudo apt-get install python-googleapi python-oauth2client
und den Befehl verwendetsudo apt-get install python3-googleapi python3-oauth2client
. Es hat perfekt funktioniert und ich bevorzuge diesen Weg, weil ich genug mit einem Paketmanager habe.apiclient
war der ursprüngliche Name der Bibliothek.Irgendwann wurde es umgestellt
googleapiclient
.Wenn Ihr Code in Google App Engine ausgeführt wird, sollten beide funktionieren.
Wenn Sie die Anwendung selbst ausführen und der google-api-python-client installiert ist, sollten beide ebenfalls funktionieren.
Wenn wir uns jedoch den Quellcode des Moduls des
apiclient
Pakets__init__.py
ansehen , können wir sehen, dass dasapiclient
Modul aus Gründen der Abwärtskompatibilität einfach herumgehalten wurde.Sie sollten also wirklich
googleapiclient
in Ihrem Code verwenden, da derapiclient
Alias nur beibehalten wurde, um Legacy-Code nicht zu beschädigen.quelle
import
Anweisung behoben. Ich hatte den Beispielcode von Google in eine Datei in PyCharm verschoben, und als PyCharm mich aufforderte, ein Paket mit dem Namen "apiclient
Ich" zu installieren, tat ich dies. Als ich mir das Modul ansah, das es installiert hatte, war es winzig und schien nicht mit Google verwandt zu sein.apiclient
ist nicht in der Liste der Drittanbieter-Bibliotheken enthalten, die von der Appengine-Laufzeit bereitgestellt werden: http://developers.google.com/appengine/docs/python/tools/libraries27 .Sie müssen
apiclient
in Ihr Projektverzeichnis kopieren und Sie müssen dieseuritemplate
&httplib2
auch kopieren .Hinweis: Alle Bibliotheken von Drittanbietern, die nicht in der Dokumentationsliste enthalten sind, müssen in Ihr Appengine-Projektverzeichnis kopiert werden
quelle
Wenn keine der oben genannten Lösungen für Sie funktioniert, prüfen Sie, ob Sie Python möglicherweise über Anaconda installiert haben. Wenn dies der Fall ist, kann die Installation der Google API-Bibliothek mit conda das Problem beheben.
Lauf:
Wenn Sie so etwas bekommen
Dann versuche es:
Wie bgoodr in einem Kommentar ausgeführt hat, müssen Sie möglicherweise den Kanal (Think Repository) angeben, um die Google API-Bibliothek abzurufen. Zum Zeitpunkt des Schreibens bedeutet dies, dass der Befehl ausgeführt wird:
Weitere Informationen finden Sie unter https://anaconda.org/conda-forge/google-api-python-client
quelle
Stellen Sie sicher, dass Sie nur
google-api-python-client
installiert haben. Wenn Sieapiclient
installiert haben, führt dies zu einer Kollision. Führen Sie also Folgendes aus:quelle
Für App Engine-Projekte müssen Sie die Bibliothek lokal durch Eingabe installieren
Lesen Sie hier mehr
quelle
Für die Google API Python Client-Bibliothek gibt es einen Download, der die Bibliothek und alle ihre Abhängigkeiten enthält und im Download-Bereich des Projekts den Namen google-api-python-client-gae- <Version> .zip trägt . Entpacken Sie dies einfach in Ihr App Engine-Projekt.
quelle
Ich habe das Problem behoben, indem ich das Paket neu installiert habe mit:
quelle
für python3 hat das bei mir funktioniert:
quelle
Ich hatte das gleiche Problem aufgrund eines Fehlers bei der Installation des URITemplate-Moduls.
Dies löste das Problem:
quelle
Ich habe den gleichen Fehler erhalten, als ich an einem Projekt gearbeitet habe, um aktuelle Kalenderereignisse aus Google Kalender zu analysieren.
Die Verwendung der Standardinstallation mit pip hat bei mir nicht funktioniert. Hier ist, was ich getan habe, um die Pakete zu erhalten, die ich brauchte.
Gehen Sie direkt zur Quelle. Hier ist ein Link für den Google-API-Python-Client . Wenn Sie jedoch eine andere Sprache benötigen, sollte diese nicht zu unterschiedlich sein.
https://github.com/google/google-api-python-client
Klicken Sie oben links auf die grüne Schaltfläche "Klonen oder Herunterladen" und speichern Sie sie als Zip-Datei. Verschieben Sie die Zip-Datei in Ihren Projektordner und extrahieren Sie sie dort. Schneiden Sie dann alle Dateien aus dem erstellten Ordner zurück in das Stammverzeichnis Ihres Projektordners.
Ja, dies überfüllt Ihren Arbeitsbereich, aber viele Compiler haben Möglichkeiten, Dateien auszublenden.
Danach der Standard
funktioniert super.
Hoffe das hilft.
quelle
"google-api-python-client" erfordert:
So beheben Sie das Problem auf dem GAE Development Server:
quelle
Ich bin auf das gleiche Problem gestoßen. Das hat funktioniert:
quelle
Es hat nur bei mir funktioniert, als ich sudo verwendet habe:
quelle
Ich habe den gleichen Fehler erhalten, obwohl ich dem Google-Handbuch unter https://developers.google.com/drive/api/v3/quickstart/python gefolgt bin. Dann wurde mir klar, dass ich Folgendes aufrufen musste:
Anstatt:
(Beachten Sie das "
3
")Hat einwandfrei funktioniert.
Ich benutze
Ubuntu 18.04.4 LTS
.quelle
benutze das
quelle