Используйте pyenv для управления версией Python и виртуальной средой под MacOS.

Python

Введение в pyenv

pyenvдаPythonИнструмент управления версиями.pyenvможет изменить глобальноеPythonверсия, установите несколько версийPython, который устанавливает уровень каталогаPythonверсию, а также создавать и управлятьvirtual python environments. Все настройки являются операциями на уровне пользователя и не требуютsudoЗаказ.

pyenvВ основном используется для управленияPythonверсия, такая как проект требуетPython 2.x, проект требуетPython 3.x. иvirtualenvВ основном используется для управленияPythonЗависимости пакетов, разные проекты должны зависеть от разных версий пакетов, вам нужно использовать виртуальную среду.

Введение в принцип pyenv

pyenvПутем изменения переменных окружения в системеPythonПереключение между различными версиями. иvirtualenvпоставивPythonпакеты устанавливаются в каталог какPythonВиртуальная среда пакета может переключаться между различными средами пакета путем переключения каталогов.

pyenvПрелесть этого в том, что он не использует разныеPATHимплантировать разныеshellЭтот сильно связанный способ работы, но просто вPATHПуть прокладки вставлен в самом начале (shims):~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin. все парыPythonПоиск исполняемых файлов сначала выполняется этимshimsПерехват пути, тем самым делая недействительным системный путь позади.

перед установкой

Пожалуйста, обратитесь к различным системамCommon build problems, установите необходимые инструменты.

установка pyenv

Согласно официальному сайтуПримечания по установкеилиавтоматическая установка. При использованииMacИспользовать напрямуюHomebrew. После успешной установки не забудьте.bashrcили.bash_profileДобавьте три строки, чтобы включить автозаполнение.

# 根据自己的环境配置
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

автоматическая установка

pyenvПредусмотрен инструмент для автоматической установки, просто выполните команду для установки:

curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

убедитесь, что система имеетgit, в противном случае требуется новая установкаgit.

Ручная установка

Если вы хотите более подробно разобраться в процессе установки, вы можете использовать ручную установку. будетpyenvПерейдите в каталог, который вы хотите установить. Предлагаемый путь:$HOME/.pyenv

cd ~
git clone git://github.com/yyuu/pyenv.git .pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

добавить переменную окруженияPYENV_ROOTнаправлениеpyenvПроверьте корневой каталог и добавьте в$PATHДобавить к$PYENV_ROOT/binпредоставить доступpyenvПуть к команде.

здесьshellконфигурационный файл (~/.bash_profile) в зависимости отLinuxи должны быть изменены при использованииzshвам нужна соответствующая конфигурация~/.zshrc

в настоящее время используетpyenvиспользовать послеpipУстановленные сторонние модули автоматически устанавливаются на используемые в данный моментPythonПо версии он не будет конфликтовать с системным модулем. использоватьpipПосле установки модуля, если он не подействует, не забудьте использоватьpyenv rehashдля обновления пути прокладки.

общие команды pyenv

использоватьpyenv commandsпоказать все доступные команды

Конфигурация Python

# 查看系统当前安装的python列表
pyenv versions

# 列出可安装版本
pyenv install --list 

# 安装指定版本 Python
pyenv install -v 3.5.1

# 卸载指定版本 Python
pyenv uninstall 2.7.3

# 显示当前python安装路径
pyenv which python 

# 创建垫片路径
# 为所有已安装的可执行文件创建 shims
# 如:~/.pyenv/versions/*/bin/*
# 每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令
pyenv rehash

Переключатель Python

#  设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式
pyenv global <版本号>

# 设置面向程序的本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。
# pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。若找不到,就用 global 版本。
pyenv local <版本号>

# 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。
pyenv shell <版本号>

# --unset 参数可以用于取消当前 shell 设定的版本。
pyenv shell --unset

приоритет Python

shell > local > global

pyenv-virtualenv

pyenv-virtualenvдаpyenvна основеvirtualenvПлагин дляpyenv-virtualenvПлагины могут быть красивыми иvirtualenvкомбинировать.

Установить

После использования автоматической установки pyenv он автоматически установит некоторые плагины, в том числеpyenv-virtualenv.

При использованииHomebrewДля установки можно использовать командуbrew install pyenv-virtualenvУстановитьpyenv-virtualenvплагин.

После этой установки вам необходимо выполнить следующую настройку:

# 使用 zsh shell
vim ~/.zshrc

# 使用系统默认
vim ~/.bash_profile

# 在 `.zshrc` 或 `.bash_profile` 文件最后写入:
# pyenv-virtualenv
if which pyenv-virtualenv-init > /dev/null;
  then eval "$(pyenv virtualenv-init -)";
fi

# 使配置生效
source ~/.zshrc
# or
source ~/.bash_profile

использовать

# 创建虚拟环境
# 若不指定 Python 版本,默认使用当前环境 Python 版本
pyenv virtualenv <Python 版本号> <虚拟环境名称>

# 列出当前虚拟环境
pyenv virtualenvs

# 激活虚拟环境
pyenv activate <虚拟环境名称>

# 退出虚拟环境
pyenv deactivate

# 删除虚拟环境
pyenv uninstall <虚拟环境名称>

Советы: заменить источник пипса

Из-за внутренней сетевой среды, если она находится в локальной сетиpipЗагрузка идет медленно, вы можете попробовать использовать образ, предоставленный Alibaba Cloud, для созданияvim ~/.pip/pip.conf, затем заполните:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

БолееpipВнутренний источник:

Дубан:http://pypi.douban.comАли Клауд:http://mirrors.aliyun.com/pypi/simpleУниверситет Цинхуа:https://pypi.tuna.tsinghua.edu.cn/simple

Ссылаться на