Изменение системных путей (в /etc/paths
) не рекомендуется и не нужно.
Если вы установили Python через Homebrew (brew install python
и brew install python3
), вам следует внимательно прочитать предупреждения:
brew info python
brew info python3
Почему обработка python
Homebrew такая особенная?
Ознакомьтесь с документацией по Homebrew и Python , так как Homebrew создает несколько символических ссылок в разных местах и использует следующее соглашение:
Homebrew предоставляет одну формулу для Python 2.7.x и другую для Python 3.x. Исполняемые файлы организованы следующим образом, так что Python 2 и Python 3 могут быть установлены без конфликтов:
python
указывает на систему MacOS Python (без ручной модификации PATH
)
python2
указывает на Python Homebrew 2.7.x (если установлен)
python3
указывает на Python 3.x Homebrew (если установлен)
pip2
указывает на pip
доморощенного в Python 2.7.x (если он установлен)
pip3
указывает на pip
доморощенного в Python 3.x (если он установлен)
Причина этого в том, что вы не хотите, чтобы python
умолчанию использовал Homebrew Python, если он был установлен как зависимость какой-то другой формулы, что может вызвать проблемы в сценариях, которые просто используют /usr/bin/env python
в своей строке shebang.
Также обратите внимание, что это поведение Homebrew/Python может измениться в какой-то момент в будущем из-за устаревшей природы Python 2.
Но я хочу, чтобы python
указывал на python
Homebrew!
Итак, если вы действительно хотите, чтобы python
ссылался на Python 2.7 Homebrew вместо системного Python, вы должны добавить это к своему $PATH
в ~/.bash_profile
:
export PATH=/usr/local/opt/python/libexec/bin:$PATH
... и оставьте ваши /etc/paths
как они были раньше.