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