7

Sto tentando di eseguire l'esempio fornito qui https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/service-py per l'autorizzazione.Errore di importazione: Autorizzazione dell'API di Google Analytics

Ho notato da altre domande in SO che (ImportError: cannot import name SignedJwtAssertionCredentials) SignedJwtAssertionCredentials è stato rimosso e, pertanto, non è stato possibile importarlo.

Così, ho iniziato a seguire le soluzioni fornite sia nella pagina GitHub (https://github.com/google/oauth2client/issues/401) che in StackOverflow. Finora, niente ha funzionato, sto ancora vedendo lo stesso errore. Di seguito è riportato il mio codice.

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 

E, questo è l'errore che sto ricevendo in esecuzione il codice di cui sopra.

ImportError: cannot import name ServiceAccountCredentials 

Come io sono un novizio completo in questo spazio, ho cercato di fare questo per entrambe le versioni di OAuth (2.0.0 e 1.5.2). Ho anche provato dopo aver installato pyopenssl, ma ancora non riuscito.

+0

Puoi includere l'output di 'oauth2client importazione; oauth2client .__ version__'? – Forge

+0

'importazione oauth2client' versione' oauth2client .__ __ '' Tipo: str forma String: 2.0.0-post1 Lunghezza: 11 docstring:? str (oggetto = '') -> STRING' 'Return una bella rappresentazione di stringa dell'oggetto. Se l'argomento è una stringa, il valore di ritorno è lo stesso oggetto. –

+0

Il problema in qualche modo sembra risolto ora. Ho appena provato un paio d'ore più tardi e ha funzionato. –

risposta

13

Sembra che l'installazione di oauth2client non abbia esito positivo. Prova

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

+0

È stato installato con successo. 2.0.0. versione. –

+1

Potrebbero esserci molte ragioni per cui questo non funziona. Controlla questo link per le cose che potrebbero andare storte. http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html – wtpoo

0

Ho avuto problemi simili in cui mi stavo cannot import name xxxx errore. Risulta che ho avuto vecchi file * .pyc nel mio ambiente da una versione precedente di oauth2client. Anche se ho aggiornato alla versione oauth2client più recente, i file * .pyc si stavano abituando quando ho provato ad eseguire. Ho semplicemente cancellato i file oauth2client * .pyc e poi rieseguo il mio programma senza problemi.

Anche se si esegue l'aggiornamento per utilizzare l'ultimo google-api-python-client ... è necessario assicurarsi che tutti i file * .pyc dalla vecchia libreria siano stati rimossi.

0

Installazione pyopenssl Risolto il problema per me:

pip install pyopenssl 

Sulla base this answer.