Как я могу использовать Homebrew для установки Python 2 и 3 на Mac?

Мне нужно иметь возможность переключаться между Python 2 и 3. Как это сделать с помощью Homebrew, поскольку я не хочу путаться с путями и попадать в неприятности. Сейчас у меня есть 2.7, установленный через Homebrew.

Ответ 1

Я бы использовал pyenv Вы можете установить его:

$ brew install pyenv

Чтобы включить pyenv в вашей оболочке Bash, вам нужно запустить:

$ eval "$(pyenv init -)"

Чтобы сделать это автоматически для Bash при запуске, добавьте эту строку в свой ~/.bash_profile. 1

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

Как только вы установили pyenv и активировали его, вы можете установить разные версии python и выбрать, какой из них вы можете использовать. Пример:

$ pyenv install 2.7.5

Вы можете проверить версии, с которыми вы установили:

$ pyenv versions

И вы можете переключаться между версиями python с помощью команды:

$ pyenv global 3.3.1

Также вы можете установить версию python для текущего каталога с помощью:

$ pyenv local 3.5.2

Вы можете проверить, запустив python --version:

$ python --version
Python 3.5.2

1 Homebrew используется для указания вам сделать это при установке pyenv, но сообщение было удалено. Для Zsh и других оболочек точные этапы могут быть разными.

Ответ 2

Вы можете установить обе версии одновременно.

Для доморощенного> = 1.5.0:

С 1 марта 2018 года формула python будет обновлена до Python 3.x, а новая формула [email protected] будет добавлена специально для Python 2.7.

Смотрите объявление об изменениях здесь или окончательный документ об использовании Homebrew для Python здесь.

Для пожилых Homebrew:

Для Python 2.x:

brew install python

Для Python 3.x:

brew install python3

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

Ответ 3

В настоящее время Homebrew предоставляет две разные формулы для Python 2 и 3. brew install python устанавливает python3, а brew install [email protected] устанавливает python2. Больше подробностей в Homebrew docs:

https://docs.brew.sh/Homebrew-and-Python

Если в настоящее время у вас установлен 2.x через Homebrew, Homebrew сообщит вам следующее:

Error: python 2.7.14 is already installed
To upgrade to 3.6.5, run 'brew upgrade python'

Если вы запускаете:

brew upgrade python

Вы должны быть в состоянии сделать:

python --version

а также

python3 --version

Чтобы увидеть, какие версии Python 2.x и 3.x установлены.

Ответ 4

Кроме того, вы можете просто ввести "python3", чтобы запустить самую последнюю версию python3.x и "python" или "python2" для запуска последней установленной версии 2.x.

Ответ 5

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

ШАГ 1:

Удалить все питоны с вашего Mac

 brew uninstall --ignore-dependencies --force python
 sudo rm -rf ~/miniconda3/
 sudo rm -rf ~/.conda/

Удалите следующее из ~/.bash_profile

export PATH="/Users/ishandutta2007/miniconda3/bin:$PATH"

а также следующее из ~/.bashrc

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
export PYTHONPATH=/usr/local/lib/python2.7/site-packages/google:$PYTHONPATH
alias python="/usr/bin/python"

ШАГ 2:

Установите pyenv и нужные вам версии python

brew update
brew install pyenv
pyenv install 2.7
pyenv install 3.7.0

ЭТАП 3:

добавить pyenv init в bash_profile или bashrc

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

ШАГ 4:

Проверьте, что было установлено

pyenv versions
  • система (устанавливается /Users/ishandutta2007/.pyenv/version)

    2,7

    3.7.0

STEP5:

Выберите по умолчанию

pyenv global 3.7.0

Когда проекту требуется более старая версия, просто перейдите в его корневую папку и запустите

pyenv local 2.7

Ответ 6

Используйте asdf !

Баллада АСДФ

Когда-то был язык программирования
Было много версий этого
Поэтому люди написали менеджер версий для него
Переключаться между версиями для проектов
Разное, старое, новое.

Затем появилось больше языков программирования
Так что пришли больше менеджеров версий
И много команд для них

Я установил много из них
Я выучил много команд

Тогда я сказал, еще один менеджер версий
Который я напишу вместо

Итак, появился другой менеджер версий
менеджер версий asdf - https://github.com/asdf-vm/asdf

Менеджер версий настолько расширяемый
для которого каждый может создать плагин
Поддерживать их любимый язык
Больше не нужно устанавливать больше менеджеров версий
Или узнать больше команд

https://github.com/asdf-vm/asdf
https://github.com/tuvistavie/asdf-python
https://github.com/asdf-vm/asdf-plugins

Ответ 7

Я думал, что у меня такое же требование - перемещаться между версиями Python - но я достиг всего, что мне было нужно, только с помощью Python3.6, собирая из исходного кода вместо использования homebrew.

git clone https://git.<theThingYouWantToInstall>

В зависимости от репо, проверьте, существует ли уже файл MAKE, настроенный для этой опции.

Ответ 8

Я смог просто зайти на https://www.python.org/downloads/mac-osx/ и загрузить последнюю версию Python. Он установлен вдоль бокового текущего питона в моей системе.

Ответ 9

Хорошо, я боролся с моей установкой brew Python3, потому что у меня не было pip3

sudo pip3 command not found

и поэтому я сделал

brew uninstall --force --ignore-dependencies python3

и установил обычный Python 3.6.2 из официального дистрибутива, а затем у меня был pip3, и все компоненты были в порядке.