started library google getting example engine clients app apiclient python google-app-engine google-api-python-client
google-api-python-client-gae-<version>.zip

python - library - ImportError: Ningún módulo llamado apiclient.discovery



library api (13)

Recibí este error en Google App Engine. Python usó Google Translate API, pero no sé cómo solucionarlo,

<module> from apiclient.discovery import build ImportError: No module named apiclient.discovery

Intentaré establecer un entorno que indique a Google App Engine SDK , y subir de nuevo a Google Apps Engine, siempre obtengo el error ,

Error: error del servidor

El servidor encontró un error y no pudo completar su solicitud. Si el problema persiste, informe su problema y mencione este mensaje de error y la consulta que lo causó.

Por favor dime como arreglarlo,

Gracias

ACTUALIZACIÓN: solucionado. Siga la ayuda de Nijjin. Repare los problemas agregando las siguientes carpetas.

apiclient, gflags, httplib2, oauth2client, uritemplate


"google-api-python-client" requiere:

pip install uritemplate.py

para solucionar el problema en GAE Development Server:

from googleapiclient.discovery import build ImportError: No module named googleapiclient.discovery


Asegúrese de que solo tiene google-api-python-client instalado. Si tiene un apiclient instalado, causará una colisión. Por lo tanto, ejecute lo siguiente:

sudo pip uninstall apiclient


Debería poder obtener estas dependencias con esta simple instalación:

sudo pip install --upgrade google-api-python-client

Esto se describe en la página de inicio rápido para python .


Existe una descarga para la biblioteca de Google API Python Client que contiene la biblioteca y todas sus dependencias, llamada algo así como google-api-python-client-gae-<version>.zip en la sección de descargas del proyecto. Simplemente descomprime esto en tu proyecto de App Engine.


Me encontré con el mismo problema. Esto funcionó:

>>> import pkg_resources >>> pkg_resources.require("google-api-python-client") [google-api-python-client 1.5.3 (c:/python27), uritemplate 0.6 (c:/python27/lib/site-packages/uritemplate-0.6-py2.7.egg), six 1.10.0 (c:/python27/lib/site-packages/six-1.10.0-py2.7.egg), oauth2client 3.0.0 (c:/python27/lib/site-packages/oauth2client-3.0.0-py2.7.egg), httplib2 0.9.2 (c:/python27/lib/site-packages/httplib2-0.9.2-py2.7.egg), simplejson 3.8.2 (c:/python27/lib/site-packages/simplejson-3.8.2-py2.7-win32.egg), six 1.10.0 (c:/python27/lib/site-packages/six-1.10.0-py2.7.egg), rsa 3.4.2 (c:/python27/lib/site-packages/rsa-3.4.2-py2.7.egg), pyasn1-modules 0.0.8 (c:/python27/lib/site-packages/pyasn1_modules-0.0.8-py2.7.egg), pyasn1 0.1.9 (c:/python27/lib/site-packages/pyasn1-0.1.9-py2.7.egg)] >>> from apiclient.discovery import build >>>


Obtuve el mismo error al trabajar en un proyecto para analizar eventos de calendario recientes de Google Calendar.

Usar la instalación estándar con pip no funcionó para mí, esto es lo que hice para obtener los paquetes que necesitaba.

Vaya directamente a la fuente, aquí hay un enlace para google-api-python-client , pero si necesita un idioma diferente, no debería ser demasiado diferente.

google-api-python-client

Haga clic en el botón verde "Clonar o Descargar" cerca de la esquina superior izquierda y guárdelo como un archivo comprimido. Mueva el zip a su carpeta de proyecto y extráigalo allí. A continuación, corte todos los archivos de la carpeta que crea nuevamente en la raíz de la carpeta del proyecto.

Sí, esto abarrota su espacio de trabajo, pero muchos compiladores tienen formas de ocultar archivos.

Después de hacer esto, el estándar

from googleapiclient import discovery

Funciona genial.

Espero que esto ayude.


Para el proyecto del motor de la aplicación, debes instalar la lib localmente tecleando

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

leer más here


Si ninguna de las soluciones anteriores funciona para usted, considere si es posible que haya instalado Python a través de Anaconda. Si este es el caso, la instalación de la biblioteca API de google con conda podría solucionarlo.

Correr:

python --version

Si obtienes algo como

Python 3.6.4 :: Anaconda, Inc.

Entonces intenta:

conda install google-api-python-client

Como bgoodr ha señalado en un comentario, es posible que deba especificar el canal (repositorio de ideas) para obtener la biblioteca API de Google. En el momento de escribir esto, esto significa ejecutar el comando:

conda install -c conda-forge google-api-python-client

Vea más en https://anaconda.org/conda-forge/google-api-python-client


Solo funcionó conmigo cuando usé sudo:

sudo pip install --upgrade google-api-python-client


Solucioné el problema reinstalando el paquete con:

pip install --force-reinstall google-api-python-client


Tuve el mismo problema debido a un error en la instalación del módulo URITemplate.

Esto resolvió el problema:

pip install --force-reinstall uritemplate.py


apiclient era el nombre original de la biblioteca.
En algún momento, se cambió a googleapiclient .

Si su código se está ejecutando en Google App Engine, ambos deberían funcionar.

Si está ejecutando la aplicación usted mismo, con google-api-python-client instalado, ambos deberían funcionar también.

Aunque, si echamos un vistazo al código fuente del módulo __init__.py del paquete __init__.py , podemos ver que el módulo apiclient simplemente se mantuvo por compatibilidad con versiones anteriores.

Conservar apiclient como un alias para googleapiclient.

Entonces, realmente debería usar googleapiclient en su código, ya que el alias apiclient solo se mantuvo para no romper el código heredado.

# bad from apiclient.discovery import build # good from googleapiclient.discovery import build


apiclient no está en la lista de biblioteca de terceros proporcionada por el tiempo de ejecución de appengine: http://developers.google.com/appengine/docs/python/tools/libraries27 .

apiclient copiar apiclient en el directorio de su proyecto y también debe copiar estos uritemplate y httplib2 .

Nota: Cualquier biblioteca de terceros que no esté incluida en la lista de documentación debe copiarla en su directorio de proyectos appengine.