2014-05-01 6 views
7

Sto cercando di far funzionare OAuth di Google tramite il client API per Python.API OAuth di Google - Errore di importazione del client Python

https://developers.google.com/api-client-library/python/start/installation

ho usato easy_setup per installarlo, e ho i pacchetti apiclient nella stessa directory come il mio cliente Python. Tuttavia, quando ho eseguito il mio cliente, ho

from apiclient.discovery import build 

from apiclient.errors import HttpError 
ImportError: No module named errors 

sembra che non riesce a trovare la classe errors.py nella directory apiclient, ma è chiaramente lì.

ho i pacchetti inclusi nel mio cliente:

from apiclient.discovery import build 
from apiclient.http import MediaFileUpload 
import httplib2 
import mimetypes 
from oauth2client.client import OAuth2WebServerFlow 
from oauth2client.file import Storage as FileStorage 
import oauth2client.tools 

C'è un modo per aggirare questo?

Grazie.

+1

è possibile eseguire "da errori di importazione apiclient" e ovunque sia necessario utilizzare HttpError, utilizzare errors.HttpError, funziona così? Altrimenti, è molto strano se ce l'hai, ma non importa - ci deve essere qualcosa di banale che ti manca. Controlla domande e risposte simili qui: http://stackoverflow.com/questions/18267749/importerror-no-module-named-apiclient-discovery – kasparg

risposta

0

Questo suona come un problema di percorso.

Dalla riga di comando nel vostro sistema operativo, avviare il python binario:

[email protected]/usr/bin python

si dovrebbe vedere qualcosa di simile:

Python 2.7.6 (impostazione predefinita, 9 settembre 2014, 15:04:36)

[GCC 4.2.1 Compatibile Apple LLVM 6.0 (clang-600.0.39)] su darwin

Digitare "help", "copyright", "credits" o "license" per ulteriori informazioni.

Avanti import sys, quindi stampare sys.path:

import sys

sys.path

sys.path mostrerà tutto il pitone luoghi è attualmente a conoscenza di cercare le librerie. Confermare che il client api esiste in uno di quei percorsi e che le autorizzazioni su quel percorso sono corrette.

La condivisione di uno screenshot dell'output dai passaggi sopra consentirà di diagnosticare ulteriormente il problema.