Как я могу использовать Homebrew для установки Python 2 и 3 на Mac?
146
Мне нужно иметь возможность переключаться между Python 2 и 3. Как это сделать с помощью Homebrew, так как я не хочу путаться с путями и попадать в неприятности. Прямо сейчас у меня установлен 2.7 через Homebrew.
Чтобы включить pyenv в вашей оболочке Bash, вам нужно запустить:
$ eval "$(pyenv init -)"
Чтобы сделать это автоматически для Bash при запуске, добавьте эту строку в свой ~/.bash_profile. 1
Использование:
После того, как вы установили pyenv и активировали его, вы можете установить разные версии python и выбрать, какую из них использовать. Пример:
$ pyenv install 2.7.5
Вы можете проверить версии, которые вы установили с:
$ pyenv versions
И вы можете переключаться между версиями Python с помощью команды:
$ pyenv global3.3.1
Также вы можете установить версию Python для текущего каталога с помощью:
$ pyenv local 3.5.2
Вы можете проверить, запустив python --version:
$ python --version
Python3.5.2
1 Homebrew раньше инструктировал вас сделать это после установки pyenv, но сообщение было удалено . Для Zsh и других оболочек точные шаги могут отличаться.
Это самое простое решение. В настоящее время я использую это для переключения между Python 3 и 2.7.x
Naz Mir
3
Если я уже установил python 2.7 через homebrew , нужно ли мне позаботиться об использовании pyenv ? Могу ли я установить другой python 2.7 через pyenv ?
Дрейк Гуан
3
Да, вы можете установить другой python 2.7 через pyenv. Он установит этот питон в $ PYENV_ROOT / version. Другой python 2.7, установленный через homebrew, может отображаться как «системный», когда вы запускаете «версии pyenv».
Moliware
5
Мне пришлось добавить eval "$(pyenv init -)"в мой .profile / .zshrc, чтобы заставить работать pyenv.
Ромер
5
@ilciavo, возможно, вам придется добавить eval "$(pyenv init -)"в свой ~ / .bash_profile
Jojanzing
77
Вы можете установить обе версии одновременно.
Для доморощенного> = 1.5.0:
С 1 марта 2018 года pythonформула будет обновлена до Python 3.x, а новая python@2формула будет добавлена специально для Python 2.7.
Теперь у вас будут установлены обе версии на вашем компьютере. Если вы хотите использовать версию 2, используйте pythonисполняемый файл. Если вы хотите использовать версию 3, используйте python3исполняемый файл.
Спасибо за обновление! Я следовал похожему маршруту, но у меня были проблемы с настройкой PYTHONPATHпри каждом изменении ... Есть идеи? кроме того, pyenvэто здорово.
Медуз
9
Также обратите внимание, что имея python2 и python3 бок о бок, этот python указывает на python2, а python3 указывает на python3, как и ожидалось. Тем не менее, большая проблема заключается в том, что pip не указывает на pip2, как вы могли ожидать. Это фактически указывает на pip3 (как и pip3, очевидно). Чтобы использовать pip2, явно используйте pip2. Немного противоречиво, поскольку суффикс non number для python указывает на 2, а суффикс non number для pip указывает на 3.
JD
5
Это портит такие исполняемые файлы, как pip. В этом случае python3 будет перезаписывать пункт Python2, и это будет команда «pip» по умолчанию
kissgyorgy
1
В ответ на @ kissgyorgy свой комментарий: У меня был этот вопрос, последний комментарий по этому вопросу решить это для меня github.com/Homebrew/legacy-homebrew/issues/50607 , бег python3 -m pip install -U --force-reinstall pipзатем python -m pip install -U --force-reinstall pipположить вещи обратно к тому , pipобратитесь к Python 2 - х pip.
Гарри
11
В настоящее время Homebrew предоставляет две разные формулы для Python 2 и 3. brew install pythonустанавливает python3 и brew install python@2устанавливает python2. Больше подробностей в Homebrew docs:
В качестве альтернативы, вы можете просто ввести «python3» для запуска своей самой последней версии python3.x и «python» или «python2» для запуска последней установленной версии 2.x.
Есть способы использовать оба варианта, но сегодня самое простое решение - использовать pyenv . pyenv позволяет легко переключаться между версиями. Вот что я сделал для настройки:
Когда-то был язык программирования.
Было много его версий.
Поэтому люди написали менеджер версий для него.
Переключение между версиями для проектов.
Разное, старое, новое.
Затем появилось больше языков программирования.
Итак, появилось больше менеджеров версий
и множество команд для них.
Я установил много из них,
я узнал много команд
Тогда я сказал, еще один менеджер версий,
который я напишу вместо
Менеджер версий, настолько расширяемый,
для которого любой может создать плагин.
Для поддержки своего любимого языка.
Больше не нужно устанавливать больше менеджеров версий
или изучать больше команд.
Мне кажется, что это не конкурирующие инструменты, а один и тот же инструмент, реализованный один раз (а иногда и более одного раза) для каждого языка. Вроде как, зачем нам нужно что-то вроде LSP, ИМХО. microsoft.github.io/language-server-protocol/overview
Мэтт Шлобом
1
Я думал, что у меня такое же требование - перемещаться между версиями Python - но я достиг всего, что мне было нужно, только с помощью Python3.6, собирая из исходного кода вместо использования homebrew.
git clone https://git.<theThingYouWantToInstall>
В зависимости от репо, проверьте, существует ли уже файл MAKE, настроенный для этой опции.
Ответы:
Я бы использовал pyenv. Вы можете установить его:
Чтобы включить pyenv в вашей оболочке Bash, вам нужно запустить:
Чтобы сделать это автоматически для Bash при запуске, добавьте эту строку в свой
~/.bash_profile
. 1Использование:
После того, как вы установили pyenv и активировали его, вы можете установить разные версии python и выбрать, какую из них использовать. Пример:
Вы можете проверить версии, которые вы установили с:
И вы можете переключаться между версиями Python с помощью команды:
Также вы можете установить версию Python для текущего каталога с помощью:
Вы можете проверить, запустив
python --version
:1 Homebrew раньше инструктировал вас сделать это после установки pyenv, но сообщение было удалено . Для Zsh и других оболочек точные шаги могут отличаться.
источник
eval "$(pyenv init -)"
в мой .profile / .zshrc, чтобы заставить работать pyenv.eval "$(pyenv init -)"
в свой ~ / .bash_profileВы можете установить обе версии одновременно.
Для доморощенного> = 1.5.0:
С 1 марта 2018 года
python
формула будет обновлена до Python 3.x, а новаяpython@2
формула будет добавлена специально для Python 2.7.Смотрите объявление об изменениях здесь или окончательный документ об использовании Homebrew для Python здесь .
Для пожилых Homebrew:
Для Python 2.x:
Для Python 3.x:
Теперь у вас будут установлены обе версии на вашем компьютере. Если вы хотите использовать версию 2, используйте
python
исполняемый файл. Если вы хотите использовать версию 3, используйтеpython3
исполняемый файл.источник
PYTHONPATH
при каждом изменении ... Есть идеи? кроме того,pyenv
это здорово.python3 -m pip install -U --force-reinstall pip
затемpython -m pip install -U --force-reinstall pip
положить вещи обратно к тому ,pip
обратитесь к Python 2 - хpip
.В настоящее время Homebrew предоставляет две разные формулы для Python 2 и 3.
brew install python
устанавливает python3 иbrew install python@2
устанавливает python2. Больше подробностей в Homebrew docs:https://docs.brew.sh/Homebrew-and-Python
Если в настоящее время у вас установлен 2.x через Homebrew, Homebrew сообщит вам следующее:
Если вы запускаете:
Вы должны быть в состоянии сделать:
и
Чтобы увидеть, какие версии Python 2.x и 3.x установлены.
источник
В качестве альтернативы, вы можете просто ввести «python3» для запуска своей самой последней версии python3.x и «python» или «python2» для запуска последней установленной версии 2.x.
источник
Есть способы использовать оба варианта, но сегодня самое простое решение - использовать pyenv . pyenv позволяет легко переключаться между версиями. Вот что я сделал для настройки:
ШАГ 1:
Удалить все питоны с вашего Mac
Удалить следующее из
~/.bash_profile
а также следующее из
~/.bashrc
ШАГ 2 :
Установите pyenv и нужные вам версии python
ЭТАП 3 :
добавить
pyenv init
кbash_profile
илиbashrc
ШАГ 4 :
Проверьте, что было установлено
STEP5:
Выберите по умолчанию
Когда проекту требуется более старая версия, просто перейдите в его корневую папку и запустите
источник
Используйте asdf !
https://github.com/asdf-vm/asdf
https://github.com/tuvistavie/asdf-python
https://github.com/asdf-vm/asdf-plugins
источник
Я думал, что у меня такое же требование - перемещаться между версиями Python - но я достиг всего, что мне было нужно, только с помощью Python3.6, собирая из исходного кода вместо использования
homebrew
.git clone https://git.<theThingYouWantToInstall>
В зависимости от репо, проверьте, существует ли уже файл MAKE, настроенный для этой опции.
источник
Я смог просто зайти на https://www.python.org/downloads/mac-osx/ и загрузить последнюю версию Python. Он установлен вдоль текущего питона в моей системе.
источник
Хорошо, я боролся с установкой Python3, потому что у меня не было pip3.
и так я и сделал
и установил обычный Python 3.6.2 из официального дистрибутива, а затем у меня был pip3, и все компоненты были в порядке.
источник