Где установить переменную среды GOOGLE_APPLICATION_CREDENTIALS?

#environment-variables #google-authentication #google-api-python-client

#переменные среды #google-аутентификация #google-api-python-client

Вопрос:

Я пытаюсь использовать Python для вызова API для обучения платформы Google Cloud AI. Путь к файлу JSON ключа моей учетной записи службы — «/Users / my_mac_username / service_account_key.json», и я добавил оператор экспорта в файл bash_profile, чтобы он выглядел как:

 # Setting PATH for Python 3.8
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH
export GOOGLE_APPLICATION_CREDENTIALS="/Users/my_mac_username/service_account_key.json"
 

Тем не менее, я все еще получил ошибку:

 google.auth.exceptions.DefaultCredentialsError: Could not automatically determine credentials.
 

Кроме того, у меня установлена папка google-cloud-sdk. Я хотел бы знать, в каком файле я должен установить переменную среды. Спасибо за вашу помощь!

Комментарии:

1. Если вы запускаете echo $GOOGLE_APPLICATION_CREDENTIALS из командной строки, вы получаете правильные данные? Вы открывали новую консоль с момента установки значения в вашем bash_profile?

2. Нет, я получил пустую строку

3. Запустите source ~/.bash_profile , чтобы загрузить свой профиль или открыть новое окно терминала. Вы также можете запускать export GOOGLE_APPLICATION_CREDENTIALS="/Users/my_mac_username/service_account_key.json" прямо с этой консоли

4. Спасибо, чувак, это устраняет проблему! Есть ли способ постоянно устанавливать переменную среды?

5. Ваша настройка в ~/.bash_profile будет делать это при условии, что вы используете терминал bash. Вы можете увидеть, запустив echo $SHELL в своем терминале

Ответ №1:

Предполагая bash , что ваша оболочка терминала установлена правильно, у вас правильно настроена переменная среды. Новая переменная будет недоступна до тех пор, пока вы не откроете терминал повторно или не запустите source ~/.bash_profile его в текущем терминале.

Если вы используете zsh, добавьте экспорт в свой ~/.zshrc файл.

Чтобы определить, какую оболочку вы используете в данный момент, используйте: echo $SHELL из командной строки