Configura GOOGLE_APPLICATION_CREDENTIALS en el proyecto Python para usar la API de Google

Soy un principiante de progtwigción y trato de aprender a usar la API de Google con Python.

Yo tengo:

  1. Creé un proyecto en Google Cloud y habilité la API que deseo usar, la API de lenguaje natural.
  2. creó una credencial y descargó el archivo JSON de credenciales, lo guardó como apikey.JSON
  3. En la Terminal, he ejecutado este comando: exportar GOOGLE_APPLICATION_CREDENTIALS = apikey.JSON, no apareció ningún error.

Sin embargo, incluso cuando ejecuté el código más simple para esto, tengo errores que indican que no se encontró la credencial varialbe.

No estoy seguro de qué hacer ahora. Por favor amablemente ayuda

Este es mi código:

from google.cloud import language def sentiment_text(text): client = language.LanguageServiceClient() sentiment = client.analyze_sentiment(text).document_sentiment print('Score: {}'.format(sentiment.score)) print('Magnitude: {}'.format(sentiment.magnitude)) sampletxt='Python is great' sentiment_text(sampletxt) 

Y tengo errores:

Seguimiento (última llamada más reciente): archivo “/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py”, línea 21, en sentiment_text (sampletxt)

Archivo “/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py”, línea 5, en sentiment_text client = language.LanguageServiceClient ()

Archivo “/usr/local/lib/python3.6/site-packages/google/cloud/gapic/language/v1/language_service_client.py”, línea 147, en init ssl_credentials = ssl_credentials)

Archivo “/usr/local/lib/python3.6/site-packages/google/gax/grpc.py”, línea 106, en create_stub

 credentials = _grpc_google_auth.get_default_credentials(scopes) File 

“/usr/local/lib/python3.6/site-packages/google/gax/_grpc_google_auth.py”, línea 62, en credenciales get_default_credentials, _ = google.auth.default (scopes = scopes)

Archivo “/usr/local/lib/python3.6/site-packages/google/auth/_default.py”, línea 282, en forma predeterminada

 raise exceptions.DefaultCredentialsError(_HELP_MESSAGE) google.auth.exceptions.DefaultCredentialsError: Could not 

determinar automáticamente las credenciales. Configure GOOGLE_APPLICATION_CREDENTIALS o cree explícitamente las credenciales y vuelva a ejecutar la aplicación. Para obtener más información, consulte https://developers.google.com/accounts/docs/application-default-credentials .

 import os print(os.environ['GOOGLE_APPLICATION_CREDENTIALS']) 

Salida de rastreo (última llamada más reciente):

  File "/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple‌​.py", line 2, in  print(os.environ['GOOGLE_APPLICATION_CREDENTIALS']) File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework‌​/Versions/3.6/lib/py‌​thon3.6/os.py", line 669, in getitem raise KeyError(key) from None KeyError: 'GOOGLE_APPLICATION_CREDENTIALS' 

Si está trabajando en una notebook jupyter y desea establecer la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en el código Python:

 import os os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="/path/to/file.json" 

Otra forma de probar esto es ingresar al terminal y escribir:

 set | grep GOOGLE_APPLICATION_CREDENTIALS 

Esto le mostrará la variable de entorno y la ruta donde se encuentra. Si esto no devuelve nada, entonces no ha configurado la variable o puede haber configurado el camino incorrecto

Sé que esta publicación fue respondida, pero la siguiente es una forma más limpia de especificar GOOGLE_APPLICATION_CREDENTIALS

 client = language.LanguageServiceClient.from_service_account_json("/path/to/file.json")