Перейти к содержанию

Ставим нужную версию python

О чем?

Есть случаи когда мы не хотим использовать установленный в ОС python, а поставить другую версию по умолчанию

Качаем нужную версию python

brew update
brew install python

ожидаемый вывод:

==> Downloading Homebrew API data
✔︎ JSON API packages.arm64_golden_gate.jws.json                                                                                                                                           Downloaded   15.6MB/ 15.6MB
==> Would install 1 formula:
python 3.14.8
==> Fetching downloads for: python@3.14
✔︎ Bottle python@3.14 (3.14.8)                                                                                                                                                            Downloaded   19.3MB/ 19.3MB
==> Pouring python@3.14--3.14.8.arm64_golden_gate.bottle.tar.gz
🍺  /opt/homebrew/Cellar/python@3.14/3.14.8: 3,777 files, 74.7MB
==> Caveats
==> python@3.14
Python is installed as
  /opt/homebrew/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, are installed into
  /opt/homebrew/opt/python@3.14/libexec/bin

`idle3.14` requires tkinter, which is available separately:
  brew install python-tk@3.14

`dbm.gnu` is available separately:
  brew install python-gdbm@3.14

For more information about Homebrew and Python, see: https://docs.brew.sh/Homebrew-and-Python

The following python@3.14 executables are shadowed by other commands earlier in your PATH:
  pip3 (shadowed by /usr/bin/pip3)
  python3 (shadowed by /usr/bin/python3)
Running these by name will not invoke the version provided by Homebrew.
Disable this behaviour by setting `HOMEBREW_NO_PATH_SHADOW_CHECK=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).

Смотрим также в списке установленных пакетов

brew list

Сокращенный вывод:

==> Formulae
python@3.14 
==> Casks
portkiller

Меняем дефолтную версию python на целевую

На моем маке изначально стояла версия python3.9, и она расположена по пути

which python3

/usr/bin/python3

Проверим также все пути куда установлены версии python

which -a python3
/usr/bin/python3
/opt/homebrew/bin/python3

PATH

Если посмотреть переменную echo $PATH то вы увидите все директории по которым ходит SHELL при вызове команды python3, и тут мы видим что первоначально в порядке стоит директория /usr/bin/python3.

Чтобы поменять версию на 3.14 (которую мы скачали через Homebrew) изменим переменную PATH

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

И проверим расположение всех версий python которые установлены в системе (порядок должен теперь измениться)

which -a python3
/opt/homebrew/bin/python3
/usr/bin/python3

Обратите внимание

Так как мы внесли изменения, теперь SHELL в первую очередь обращается к директории /opt/homebrew/bin/python3, и если в этой директории ничего нет, то идет к следующей, а именно: /usr/bin/python3


Последняя проверка 02.10.2026