python多环境管理

引言

可以借助pyenvvirtualenv在单机上搭建多版本python虚拟环境,不搞乱系统自带的python。

  • pyenv:可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。
  • virtualenv:提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。

举个例子,首先我们可以用pyenv安装多个python版本, 比如安装了2.6, 2.7, 3.5 三个版本。 用户可以随意切换当前默认的python版本。 但这时候, 每个版本的环境仍是唯一的, 如果我们想在环境中安装一些库的话, 还是会导致这个版本的环境被修改。 这个时候, 如果我们用virtualenv去建立虚拟环境, 就可以完全保证系统路径的干净。无论你在虚拟环境中安装了什么程序, 都不会影响已安装版本的系统环境。

安装pyenv

参见pyenv的github页面

Mac OS

1
2
brew update
brew install pyenv

然后

1
brew info pyenv

按照说明配置,即指明pyenv位置,并提供自动补全
pyenv的默认目录在~/.pyenv

功能

pyenv install --list 查看可安装的python版本
pyenv install <version> 安装某个版本
pyenv versions 查看本机所有版本,system为系统python版本,*前缀为激活版本
pyenv global <version> 切换到某个已安装版本
pyenv uninstall <version> 删除某个版本

配合virtualenv

一般在pyenv中已经集成了virtualenv
pyenv virtualenv <version> <env_name> 创建一个虚拟环境,目录~/.pyenv/versions/
pyenv versions 可以查看
pyenv activate <env_name> 激活虚拟环境
pyenv deactive <env_name> 退出虚拟环境