Ответ 1
Если вы работаете на ноутбуке jupyter и хотите установить переменную среды GOOGLE_APPLICATION_CREDENTIALS в коде Python:
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="/path/to/file.json"
Я начинаю программировать и программировать, чтобы узнать, как использовать API Google для Python.
Я имею:
Однако, даже когда я запускал простейший из кодов для этого, у меня есть ошибки, которые говорят, что varialbe полномочий не найден.
Я не уверен, что делать сейчас. Пожалуйста, любезно помогите.
Это мой код:
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)
И у меня есть ошибки:
Traceback (последний последний вызов): Файл "/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py", строка 21, в файле sentiment_text (sampletxt)
Файл "/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py", строка 5, в sentiment_text client = language.LanguageServiceClient()
Файл "/usr/local/lib/python3.6/site-packages/google/cloud/gapic/language/v1/language_service_client.py", строка 147, в init ssl_credentials = ssl_credentials)
Файл "/usr/local/lib/python3.6/site-packages/google/gax/grpc.py", строка 106, в create_stub
credentials = _grpc_google_auth.get_default_credentials(scopes) File
"/usr/local/lib/python3.6/site-packages/google/gax/_grpc_google_auth.py", строка 62, в учетных данных get_default_credentials, _ = google.auth.default(scopes = scopes)
Файл "/usr/local/lib/python3.6/site-packages/google/auth/_default.py", строка 282, по умолчанию
raise exceptions.DefaultCredentialsError(_HELP_MESSAGE) google.auth.exceptions.DefaultCredentialsError: Could not
автоматически определяют учетные данные. Установите GOOGLE_APPLICATION_CREDENTIALS или явно создайте учетные данные и запустите приложение. Для получения дополнительной информации см. Https://developers.google.com/accounts/docs/application-default-credentials.
import os
print(os.environ['GOOGLE_APPLICATION_CREDENTIALS'])
Output Traceback (последний последний вызов):
File "/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py", line 2, in <module> print(os.environ['GOOGLE_APPLICATION_CREDENTIALS']) File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/os.py", line 669, in getitem raise KeyError(key) from None KeyError: 'GOOGLE_APPLICATION_CREDENTIALS'
Если вы работаете на ноутбуке jupyter и хотите установить переменную среды GOOGLE_APPLICATION_CREDENTIALS в коде Python:
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="/path/to/file.json"
Другой способ проверить это - зайти в терминал и набрать:
# Linux/Unix
set | grep GOOGLE_APPLICATION_CREDENTIALS
или же
# Windows:
set | Select-String -Pattern GOOGLE_APPLICATION_CREDENTIALS
Это покажет вам переменную окружения и путь, где она находится. Если это ничего не возвращает, значит, вы не установили переменную или у вас может быть установлен неверный путь
Я знаю, что на этот пост был дан ответ, но ниже приведен более GOOGLE_APPLICATION_CREDENTIALS
способ указать переменную GOOGLE_APPLICATION_CREDENTIALS
.
client = language.LanguageServiceClient.from_service_account_json("/path/to/file.json")
Существует еще один более простой способ заставить его работать, просто указав учетные данные и передав их клиенту, как показано ниже.
import os
from google.oauth2 import service_account
credentials = service_account.Credentials.from_service_account_file("your-json-
file-path-with-filename.json")
client = language.LanguageServiceClient(credentials=credentials)