7

Próbuję uruchomić próbkę podaną tutaj https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/service-py w celu autoryzacji.Błąd importu: autoryzacja interfejsu API Google Analytics

Zauważyłem od innych pytań w SO, że (ImportError: cannot import name SignedJwtAssertionCredentials) SignedJwtAssertionCredentials został usunięty i dlatego nie można go zaimportować.

Zacząłem więc stosować rozwiązania dostarczone zarówno na stronie GitHub (https://github.com/google/oauth2client/issues/401), jak i StackOverflow. Do tej pory nic nie działało, wciąż widzę ten sam błąd. Oto mój kod.

import argparse 

from apiclient.discovery import build 
from oauth2client.service_account import ServiceAccountCredentials 

import httplib2 
from oauth2client import client 
from oauth2client import file 
from oauth2client import tools 

I to jest błąd, który otrzymuję po uruchomieniu powyższego kodu.

ImportError: cannot import name ServiceAccountCredentials 

jak jestem kompletnym nowicjuszem w tej przestrzeni, próbowałem to zrobić dla obu wersji OAuth (2.0.0 i 1.5.2). Próbowałem również po zainstalowaniu pyopenssl, ale nadal nie powiodło się.

+0

można dołączyć wyjście 'importowej oauth2client; oauth2client .__ version__'? – Forge

+0

'import oauth2client' oauth2client .__ wersja' '__' Typ: str forma String: 2.0.0-post1 Długość: 11 Docstring: str (object = '') -> string' 'Powrót ładna ciągła reprezentacja obiektu. Jeśli argument jest łańcuchem, zwracana wartość jest tym samym obiektem. " –

+0

Problem wydaje się jakoś rozwiązany. Próbowałem kilka godzin później i działało. –

Odpowiedz

13

Wygląda na to, że instalacja oauth2client zakończyła się niepowodzeniem. Wypróbuj

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

+0

Jest pomyślnie zainstalowany. 2.0.0. wersja. –

+1

Może być wiele przyczyn, dla których nie działa. Sprawdź ten link pod kątem rzeczy, które mogą pójść nie tak. http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html – wtpoo

0

Miałem podobne problemy, gdy otrzymałem błąd cannot import name xxxx. Okazało się, że miałem stare pliki * .pyc w moim środowisku ze starszej wersji oauth2client. Mimo że zaktualizowałem do najnowszej wersji oauth2client, pliki * .pyc zaczęły być używane, gdy próbowałem uruchomić. Po prostu usunąłem pliki oauth2client * .pyc, a następnie ponownie wygenerowałem mój program bez żadnych problemów.

Nawet jeśli zaktualizujesz aplikację do najnowszego klienta google-api-python ... upewnij się, że wszystkie pliki * .pyc ze starej biblioteki zostały usunięte.

Powiązane problemy