Вопрос-Ответ

How to set Python's default version to 3.x on OS X? [duplicate]

Как установить версию Python по умолчанию на 3.x в OS X?

Я использую Mountain Lion, а базовая версия Python по умолчанию - 2.7. Я скачал Python 3.3 и хочу установить его по умолчанию.

В настоящее время:

$ python
version 2.7.5
$ python3.3
version 3.3

Как мне настроить ее так, чтобы при каждом запуске $ python она открывала 3.3?

Переведено автоматически
Ответ 1

Изменение версии исполняемого файла python по умолчанию в масштабах всей системы может привести к поломке некоторых приложений, зависящих от python2.

Однако вы можете присвоить командам псевдонимы в большинстве оболочек, поскольку оболочки по умолчанию в macOS (bash в версии 10.14 и ниже; zsh в версии 10.15) имеют схожий синтаксис. Вы могли бы поместить alias python='python3' в свой ~/.profile, а затем исходный код ~/.profile в свой ~/.bash_profile и / или свой~/.zsh_profile со строкой типа:

[ -e ~/.profile ] && . ~/.profile

Таким образом, ваш псевдоним будет работать во всех оболочках.

При этом python команда теперь вызывает python3. Если вы хотите при случае вызвать "оригинальный" python (который ссылается на python2), вы можете использовать command python, который оставит псевдоним нетронутым и будет работать во всех оболочках.

Если вы чаще запускаете интерпретаторы (я так и делаю), вы всегда можете создать дополнительные псевдонимы для добавления, т.Е.:

alias 2='python2'
alias 3='python3'

Совет: для сценариев вместо использования shebang типа:

#!/usr/bin/env python

использовать:

#!/usr/bin/env python3

Таким образом, система будет использовать python3 для запуска исполняемых файлов python.

Ответ 2

Вы можете решить эту проблему с помощью символической ссылки.

unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python
Ответ 3

Откройте файл ~/.bash_profile.

vi ~/.bash_profile

Затем укажите псевдоним следующим образом:

alias python='python3'

Теперь сохраните файл, а затем запустите ~/.bash_profile файл.

source ~/.bash_profile

Поздравляем!!! Теперь вы можете использовать python3, набрав python.

python --version

Python 3.7.3

Ответ 4

Я тоже столкнулся с этой проблемой, поэтому подумал, что мне следует опубликовать обновленный ответ. Пожалуйста, обратите внимание, что это будет применимо только к настройке на Mac (я не пробовал это с Windows или любым другим вариантом Linux). Самый простой способ заставить это работать - установить Python через Brew. Если у вас не установлен brew, вам нужно будет сделать это в первую очередь. После установки выполните следующие действия в терминале:

brew install python

Это установит Python 3. После его установки запустите это:

ls -l /usr/local/bin/python*

Вы увидите все ссылки, созданные brew для установки Python. Это будет выглядеть примерно так:

lrwxr-xr-x  1 username  admin  36 Oct  1 13:35 /usr/local/bin/python3@ -> ../Cellar/python/3.7.4_1/bin/python3
lrwxr-xr-x 1 username admin 43 Oct 1 13:35 /usr/local/bin/python3-config@ -> ../Cellar/python/3.7.4_1/bin/python3-config
lrwxr-xr-x 1 username admin 38 Oct 1 13:35 /usr/local/bin/python3.7@ -> ../Cellar/python/3.7.4_1/bin/python3.7
lrwxr-xr-x 1 username admin 45 Oct 1 13:35 /usr/local/bin/python3.7-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7-config
lrwxr-xr-x 1 username admin 39 Oct 1 13:35 /usr/local/bin/python3.7m@ -> ../Cellar/python/3.7.4_1/bin/python3.7m
lrwxr-xr-x 1 username admin 46 Oct 1 13:35 /usr/local/bin/python3.7m-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7m-config

Первая строка в этом примере показывает python3 символическую ссылку. Чтобы установить ее в качестве символьной ссылки по умолчанию, python выполните следующее:

ln -s -f /usr/local/bin/python3 /usr/local/bin/python

Аналогичным образом вы также можете установить символическую ссылку pip

ln -s -f /usr/local/bin/pip3 /usr/local/bin/pip

Вам придется перезагрузить текущую оболочку терминала, чтобы использовать новую символическую ссылку в этой оболочке. Запустите эту команду, чтобы перезагрузить вашу оболочку:

exec $SHELL -l

Теперь все готово. Теперь вы можете сделать:

which python

и это должно показать:

/usr/local/bin/python

Все вновь открываемые сеансы командной строки будут (должны) автоматически использовать новую символическую ссылку. Чтобы проверить это, откройте новую командную строку терминала и запустите следующее:

python --version
python python-3.x macos