Error de atributo al intentar ejecutar el inicio rápido de la API de Gmail en Python

Parece que podría haber un problema de discrepancia de versión aquí. ¿Cómo debo solucionarlo?

He intentado actualizar seis con pip, pero eso no hace nada.

Aquí está el error que veo:

Traceback (most recent call last): File "./quickstart.py", line 27, in  credentials = run(flow, STORAGE, http=http) File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 137, in positional_wrapper return wrapped(*args, **kwargs) File "/Library/Python/2.7/site-packages/oauth2client/old_run.py", line 120, in run authorize_url = flow.step1_get_authorize_url() File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 137, in positional_wrapper return wrapped(*args, **kwargs) File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 1827, in step1_get_authorize_url return _update_query_params(self.auth_uri, query_params) File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 435, in _update_query_params parts = urllib.parse.urlparse(uri) AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse' 

Related of "Error de atributo al intentar ejecutar el inicio rápido de la API de Gmail en Python"

Me encontré con un problema muy similar, aunque utilizando una API completamente diferente (motor de cómputo). Terminé haciendo retroceder el cliente de Google Api a la versión anterior – 1.3.2 – en lugar de la última versión – 1.4.0. Para ello, corrí:

 sudo pip install -I google-api-python-client==1.3.2 

Y luego fue capaz de ejecutar mi código.

No estoy seguro de si este es el mismo problema, pero parece que me sirvió, espero que esto ayude.

Descubrió el origen del problema: la versión OSX preinstalada de seis (1.4.1) es la que se carga porque su ubicación es lo primero en su ruta de Python.

La versión requerida por gmail (1.6.1) está, por lo tanto, protegida y, por lo tanto, nunca importada.

Una solución rápida es simplemente anteponer el directorio de instalación 1.6.1 a su ruta de Python, por lo que se carga antes de la versión 1.4.1. No es la mejor solución, pero funciona.

 import sys sys.path.insert(1, '/Library/Python/2.7/site-packages')