Почему gcloud находит старую версию Python?Python

Программы на Python
Ответить
Anonymous
 Почему gcloud находит старую версию Python?

Сообщение Anonymous »

Я устанавливаю gcloud с помощью доморощенного продукта. Процесс завершился неудачей, поскольку обнаруженный им Python имел версию 3.8, версию OSX, установленную на Mac:

Код: Выделить всё

brew install --cask gcloud-cli
...
Error: Failure while executing; `/usr/bin/env /usr/local/share/google-cloud-sdk/bin/gcloud config virtualenv create --python-to-use /usr/local/opt/python@3.13/libexec/bin/python3` exited with 1. Here's the output:
ERROR: gcloud failed to load. You are running gcloud with Python 3.8, which is no longer supported by gcloud.
Install a compatible version of Python 3.10-3.14 and set the CLOUDSDK_PYTHON environment variable to point to it.

If you are still experiencing problems, please reinstall the Google Cloud CLI using the instructions here:
https://cloud.google.com/sdk/docs/install

Это было неожиданно для меня, потому что я установил 3.13 с помощью доморощенного и изменил путь, чтобы переопределить Python по умолчанию и Python3, в процессе, похожем на «Сделать python3 моим Python по умолчанию на Mac».
Команда установки gcloud-cli, похоже, даже нашла правильный Python с --python-to-use /usr/local/opt/python@3.13/libexec/bin/python3 появляется в выходных данных.
И переменные среды (выполняемые до и после установки gcloud) выглядят правильно:

Код: Выделить всё

 % `which python` --version
Python 3.14.3
% `echo $CLOUDSDK_PYTHON` --version
Python 3.14.3
Что я могу сделать, чтобы gcloud-cli использовал установленный Brew Python3 вместо родного OSX?
Полная история отладки / Что я пытался это исправить:
Это была родная версия OSX до установки Brew Python:

Код: Выделить всё

% which python
/usr/bin/python
% python --version
Python 2.7.16
% which python3
/usr/bin/python3
% python3 --version
Python 3.8.2
После установки Python я обновил PATH, поместив /usr/local/opt/python/ вперед:

Код: Выделить всё

% echo $PATH
/usr/local/opt/python/libexec/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
И я считаю, что мне удалось успешно переопределить PATH, чтобы найти установленные в Brew питоны:

Код: Выделить всё

% which python
/usr/local/opt/python/libexec/bin/python
% python --version
Python 3.14.3
% which python3
/usr/local/bin/python3
% python3 --version
Python 3.14.3
И обновлен ~/.zshrc, чтобы переопределение пути применялось ко всем сеансам:

Код: Выделить всё

% cat ~/.zshrc
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
export CLOUDSDK_PYTHON=`which python`
Поэтому я больше не ожидал, что какой-либо процесс найдет собственный Python для OSX. Что я могу сделать, чтобы gcloud-cli использовал установленный Brew Python3 вместо родного OSX?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -of-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»