Мне нужно иметь возможность переключаться между Python 2 и 3. Как это сделать с помощью Homebrew, так как я не хочу путаться с путями и попадать в неприятности. Прямо сейчас у меня установлен 2.7 через Homebrew.
Мне нужно иметь возможность переключаться между Python 2 и 3. Как это сделать с помощью Homebrew, так как я не хочу путаться с путями и попадать в неприятности. Прямо сейчас у меня установлен 2.7 через Homebrew.
Ответы:
Я бы использовал 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 и других оболочек точные шаги могут отличаться.
eval "$(pyenv init -)"
в мой .profile / .zshrc, чтобы заставить работать pyenv.
eval "$(pyenv init -)"
в свой ~ / .bash_profile
Вы можете установить обе версии одновременно.
С 1 марта 2018 года python
формула будет обновлена до Python 3.x, а новая python@2
формула будет добавлена специально для Python 2.7.
Смотрите объявление об изменениях здесь или окончательный документ об использовании Homebrew для Python здесь .
Для Python 2.x:
brew install python
Для Python 3.x:
brew install python3
Теперь у вас будут установлены обе версии на вашем компьютере. Если вы хотите использовать версию 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 сообщит вам следующее:
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 установлены.
В качестве альтернативы, вы можете просто ввести «python3» для запуска своей самой последней версии python3.x и «python» или «python2» для запуска последней установленной версии 2.x.
Есть способы использовать оба варианта, но сегодня самое простое решение - использовать 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
Баллада АСДФ
Когда-то был язык программирования.
Было много его версий.
Поэтому люди написали менеджер версий для него.
Переключение между версиями для проектов.
Разное, старое, новое.Затем появилось больше языков программирования.
Итак, появилось больше менеджеров версий
и множество команд для них.Я установил много из них,
я узнал много командТогда я сказал, еще один менеджер версий,
который я напишу вместоИтак, появился еще один менеджер
версий в формате asdf manager - 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
Я думал, что у меня такое же требование - перемещаться между версиями Python - но я достиг всего, что мне было нужно, только с помощью Python3.6, собирая из исходного кода вместо использования homebrew
.
git clone https://git.<theThingYouWantToInstall>
В зависимости от репо, проверьте, существует ли уже файл MAKE, настроенный для этой опции.
Я смог просто зайти на https://www.python.org/downloads/mac-osx/ и загрузить последнюю версию Python. Он установлен вдоль текущего питона в моей системе.
Хорошо, я боролся с установкой Python3, потому что у меня не было pip3.
sudo pip3 command not found
и так я и сделал
brew uninstall --force --ignore-dependencies python3
и установил обычный Python 3.6.2 из официального дистрибутива, а затем у меня был pip3, и все компоненты были в порядке.