команда python3 —version не возвращает правильную версию

#python #python-3.x #macos #terminal #homebrew

#python #python-3.x #macos #терминал #доморощенный

Вопрос:

Я пытаюсь обновиться до самой последней версии python, которая в настоящее время является 3.8.5.

Когда я набираю python3 --version , я получаю:

Python 3.7.0

Похоже, мой python не обновлен. Затем я набираю brew upgrade python и получаю предупреждение:

Warning: python 3.8.5 already installed

Итак, я снова набираю python3 --version , и снова я получаю:

Python 3.7.0

Почему python3 --version не возвращается Python 3.8.5?

(PS — если я наберу python --version , я получу Python 2.7.11, как и ожидалось для моего Mac)

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

1. Вероятно, вам нужно brew link python или выполнить brew doctor , чтобы убедиться, что все в порядке.

Ответ №1:

Homebrew устанавливает python 3.8.5 по другому пути. Попробуйте:

 brew link python3
brew update
brew upgrade python3
brew cleanup python3
  

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

1. Спасибо, я сделал это, но после этого я все еще получаю версию 3.7.0. Есть идеи?

2. В терминале введите, какой python3.8, а затем какой python3.7, а затем сообщите мне пути, которые возвращаются

3. /Library/Frameworks/Python.framework/Versions/3.7/bin/python3

4. Есть мысли по этому поводу? Когда я набираю which python3.8 , я получаю: /usr/local/bin/python3.8

5. И когда я набираю which python3.7 , я получаю /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7

Ответ №2:

В вашей системе может быть несколько двоичных файлов python, но системный путь находится на уровне 3.7.0. Команда, которая python3 покажет путь к вашему текущему двоичному файлу python.

Возможно, стоит взглянуть на системный путь с помощью echo $PATH, чтобы увидеть, где ваша система ищет Python

Обновление вашей системной среды с помощью экспорта, как показано ниже, должно позволить системе найти python3.8.5

PATH="/path/to/python3.8.5/bin:${PATH}"

export PATH

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

1. Спасибо. Я вижу, что каким-то образом python3.8 хранится в неправильном месте, но это не устранило проблему. Есть идеи? Когда я набираю, which python3 я получаю /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 , но когда я набираю which python3.8 , я получаю /usr/local/bin/python3.8

2. Ах. Я думаю, что я понял это. Мне нужно было поместить /usr /local /bin ранее в $ PATH, поэтому я ввел: export PATH="/my/directory/bin:$PATH" и теперь, когда я набираю python —version, я получаю 3.8.5. Спасибо!