Как установить версию 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.

Вы можете использовать псевдонимы команд в большинстве оболочек, Mac OS X по умолчанию использует bash. Если вы тоже так делаете, поместите это в свой ~/.bash_profile:

alias python='python3'

Команда python теперь ссылается на python3. Если вам нужен оригинальный python (который относится к python2), вы можете избежать псевдонима, т.е. выполнение \python запустит python2, оставив псевдоним без изменений)

Если вы чаще запускаете переводчиков (лучше),

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

Откройте новый сеанс оболочки, и эти псевдонимы будут доступны. Если вы хотите, чтобы оно было эффективным в текущем сеансе, вам нужно будет его найти:

source ~/.bash_profile

Совет: вместо того, чтобы делать:

#!/usr/bin/env python

использование:

#!/usr/bin/env python3

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

Ответ 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

Следующее сработало для меня

cd /usr/local/bin
mv python python.old
ln -s python3 python

Ответ 5

Перейдите в "Приложения", войдите в папку "Python", там должен быть скрипт bash с именем "Update Shell Profile.command" или аналогичный. Запустите этот скрипт, и он должен это сделать.

Обновление: похоже, вы не должны обновлять его: как изменить версию Python по умолчанию?

Ответ 6

Перейти к типу терминала:

alias python=python3.x

Это установит Python по умолчанию как python3.x

Ответ 7

Я полагаю, что большинство людей, которые приземлились здесь, используют ZSH через и т.д., И это приводит вас к этому ответу.

~/.zshrc этого вы должны добавить/изменить ваши команды в ~/.zshrc.

Ответ 8

Я не уверен, что это доступно в OS X, но в Linux я бы использовал команду module. Смотрите здесь.

Правильно настройте файл модуля, затем добавьте что-то подобное в ваш файл rc (например, ~/.bashrc):

module load python3.3

Это сделает так, чтобы ваши пути переключались по мере необходимости, когда вы входите в систему, не влияя на системные значения по умолчанию.

Ответ 9

Я думаю, что когда вы устанавливаете python, он помещает инструкции экспорта в файл ~/.bash_profile. Поэтому, если вы больше не собираетесь использовать Python 2, вы можете просто удалить эту инструкцию оттуда. Псевдоним, как указано выше, также является отличным способом сделать это.

Вот как удалить ссылку из ~/.bash_profile - vim./.bash_profile - удалить ссылку (AKA что-то вроде: export PATH = "/Users/bla/anaconda: $PATH" ) - Сохранить и выйти - источник. /.bash_profile для сохранения изменений

Ответ 10

Если вы используете virtualenvwrapper, вы можете просто найти его с помощью which virtualenvwrapper.sh, затем открыть его с помощью vim или любого другого редактора, а затем изменить следующее

# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

Измените строку VIRTUALENVWRAPPER_PYTHON="$(command \which python)" на VIRTUALENVWRAPPER_PYTHON="$(command \which python3)".

Ответ 11

Для меня решение было использовать PyCharm и установить версию Python по умолчанию на ту, с которой мне нужно работать.

установите PyCharm и перейдите в файл ==> настройки для нового проекта, затем выберите интерпретатор, который вы хотите для своих проектов, в данном случае Python 3.3

Ответ 12

Если вы используете macports, вам не нужно играть с псевдонимами или переменными окружения, просто используйте метод, который macports уже предлагает, объясненный в следующих вопросах и ответах:

Как: Macports выбрать Python

TL; DR:

sudo port select --set python python27

Ответ 13

Это сработало для меня. Я добавил псевдоним и перезапустил свой терминал:

alias python=/usr/local/bin/python3

Ответ 14

Делай правильно, делай правильно!

---> Ноль Откройте свой терминал,

--Firstly входной питон -V, скорее всего, показывает:

Python 2.7.10 -Secondly input python3 -V, вероятно, показывает:

Python 3.7.2 --Thirdly ввод, где python или какой python, вероятно, показывает:

/usr/bin/python ---Fourthly ввод, где python3 или какой python3, вероятно, показывает:

/usr/local/bin/python3 --Fifthly добавьте следующую строку внизу файла переменной среды PATH в файле ~/.profile или ~/.bash_profile в Bash или ~/.zshrc в zsh.

псевдоним python = '/usr/local/bin/python3' ИЛИ

псевдоним python = python3 -Sixthly входной источник ~/.bash_profile в Bash или исходный файл ~/.zshrc в zsh.

--Seventhly Выйти из терминала.

---Eighthly Откройте свой терминал и введите python -V. Вероятно, он показывает:

Python 3.7.2 я успешно попробовал.

Другие, ~/.bash_profile в zsh - это не ~/.bash_profile.

Переменная окружения PATH в zsh вместо ~/.profile (или ~/.bash_file) через ~/.zshrc.

Помогите вам, ребята!

Ответ 15

Если вы используете macports, это проще сделать:

бежать:

port install python37

после установки установите значение по умолчанию:

sudo port select --set python python37

sudo port select --set python3 python37

перезагрузите окно cmd, готово.

Ответ 16

Я немного опоздала с игрой, но я подумала, что должна опубликовать обновленный ответ, так как только что столкнулась с этой проблемой для себя. Обратите внимание, что это применимо только к настройке на базе 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/[email protected] -> ../Cellar/python/3.7.4_1/bin/python3
lrwxr-xr-x  1 username  admin  43 Oct  1 13:35 /usr/local/bin/[email protected] -> ../Cellar/python/3.7.4_1/bin/python3-config
lrwxr-xr-x  1 username  admin  38 Oct  1 13:35 /usr/local/bin/[email protected] -> ../Cellar/python/3.7.4_1/bin/python3.7
lrwxr-xr-x  1 username  admin  45 Oct  1 13:35 /usr/local/bin/[email protected] -> ../Cellar/python/3.7.4_1/bin/python3.7-config
lrwxr-xr-x  1 username  admin  39 Oct  1 13:35 /usr/local/bin/[email protected] -> ../Cellar/python/3.7.4_1/bin/python3.7m
lrwxr-xr-x  1 username  admin  46 Oct  1 13:35 /usr/local/bin/[email protected] -> ../Cellar/python/3.7.4_1/bin/python3.7m-config

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

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

После установки вы можете сделать:

which python

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

/usr/local/bin/python

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

python --version

Ответ 17

Ну... это вроде старое. Но все же заслуживает хорошего ответа.

И хороший вариант - Вы не хотите трогать стандартный Python на Mac.

Установите любую нужную версию Python через Homebrew или любую другую и используйте ее в virtualenv. Virtualenv часто считают чем-то похожим на дерьмо, но это все же намного лучше, чем изменение версии Python для всей системы (macOS, вероятно, защитит себя от таких действий) или для всего пользователя, для всего bash... что угодно. Просто забудьте о стандартном Python. Использование игровых площадок, таких как venv, - это то, за что ваша ОС будет очень, очень благодарна.

Например, многие современные дистрибутивы Linux избавляются от Python2, установленного "из коробки", оставляя в системе только Python3. Но каждый раз, когда вы пытаетесь установить что-то старое с python2 в качестве зависимости... надеюсь, вы понимаете, что я имею в виду. Хорошему разработчику все равно. Хорошие разработчики создают чистые игровые площадки с желаемой версией Python.