2014-05-01 11 views
7

Próbuję uzyskać OAuth Google'a za pośrednictwem klienta API dla Pythona.Google OAuth API - błąd importowania klienta Python

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

Użyłem easy_setup aby go zainstalować, a ja mam pakiety apiclient w tym samym katalogu co mój klient Pythona. Jednak gdy uruchamiam mojego klienta, otrzymuję

from apiclient.discovery import build 

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

Wygląda na to, że nie może znaleźć klasę errors.py w katalogu apiclient, ale jest wyraźnie tam.

mam pakiety zawarte w moim kliencie:

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 

Czy istnieje sposób wokół to?

Dzięki.

+1

czy można zrobić "z błędów importu apiclient" i wszędzie tam, gdzie trzeba użyć HttpError, użyj errors.HttpError, czy to działa w ten sposób? Inaczej, to bardzo dziwne, jeśli je masz, ale nie importujesz - musi być coś trywialnego, czego ci brakuje. Sprawdź podobne pytania i odpowiedzi tutaj - http://stackoverflow.com/questions/18267749/importerror-no-module-named-apiclient-discovery – kasparg

Odpowiedz

0

To brzmi jak problem ze ścieżką.

z linii komend systemu operacyjnego, uruchom python binarny:

[email protected]/usr/bin python

Powinieneś zobaczyć coś takiego:

Pythona 2.7.6 (domyślnie, 9 września 2014, 15:04:36)

[GCC 4.2.1 Zgodny Apple LLVM 6.0 (clang-600.0.39)] na darwin

Aby uzyskać więcej informacji, wpisz "help", "copyright", "credits" lub "license".

Następny import sys, a następnie wydrukować sys.path:

import sys

sys.path

sys.path pokaże wszystkie pytona lokalizacjach obecnie świadomi szukać bibliotek. Potwierdź, że klient api istnieje w jednej z tych ścieżek i że uprawnienia do tej ścieżki są poprawne.

Udostępnienie zrzutu ekranu wyników z powyższych kroków pomoże w dalszym zdiagnozowaniu problemu.