python多版本管理

603 查看

pyenv

介绍

维护不同版本的 Python

一键(命令)切换全局、本地或当前 shell 使用的 Python 版本

https://github.com/yyuu/pyenv

安装

// MAC 安装
brew install pyenv

使用

// 查看当前 pyenv 可检测到的所有版本,处于激活状态的版本前以 * 标示
pyenv versions
// 查看当前处于激活状态的版本,括号中内容表示这个版本是由哪条途径激活的(global、local、shell)
pyenv version
// 安装 python 3.4.2 
pyenv install -v 3.4.2
// 卸载 
pyenv uninstall 3.4.2
// 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式
pyenv global 3.4.2
// 设置面向程序的本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高
pyenv local 3.4.2

// 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。
pyenv shell 3.5.0
// 使当前设置生效
exec $SHELL
// --unset 参数可以用于取消当前 shell 设定的版本
pyenv shell --unset

virtualenv

介绍

为特定应用创建独立的 python 环境

https://github.com/pypa/virtualenv

安装

 // python 2.7.10
 pip install virtualenv

使用

// 创建多环境 root 目录
mkdir python_multi_env
cd python_multi_env
// 创建独立干净 python 环境位于 app_env 目录中
virtualenv --no-site-packages app_env
// 使新建环境生效
source app_env/bin/activate

这样就可以使用一个干净 python 环境,如果想退出当前独立环境回到系统默认 python 环境,可使用下面命令:

deactivate

pyenv & virtualenv 集成

https://github.com/yyuu/pyenv-virtualenv

插件安装

// MAC 下安装
brew install pyenv-virtualenv

安装完毕后,执行

pyenv commands
→ pyenv commands
--version
activate
commands
completions
deactivate
exec
global
help
hooks
init
install
local
prefix
rehash
root
shell
shims
uninstall
version
version-file
version-file-read
version-file-write
version-name
version-origin
versions
virtualenv
virtualenv-delete
virtualenv-init
virtualenv-prefix
virtualenvs
whence
which

pyenv 命令中增加:

virtualenv
virtualenv-delete
virtualenv-init
virtualenv-prefix
virtualenvs

使用

创建 python 环境

pyenv virtualenv 3.5.0 v_env_3.5.0

创建后,独立环境创建目录位于 ~/.pyenv/versions/3.5.0/envs/v_env_3.5.0

启用环境

pyenv activate v_env_3.5.0

禁用环境

pyenv deactivate

删除环境

pyenv uninstall v_env_3.5.0