虚拟环境是个好东西,把每个项目单独拎出来集成到一个虚拟环境内,虚拟环境之间的各种依赖库互不干扰。

之前我一直是用 virtualenv 来管理虚拟环境的,但是当我需要管理 Python 的多个版本时,virtualenv 就显得繁琐不方便了,不过还好,pyenv 出现了。pyenv 是一个 Python 多版本管理工具,可以和 virtualenv 完美结合,实现多版本、多环境的控制。

##安装 pyenv

pvenv 的作者贴心的给我们准备了一个安装脚本,在终端中执行即可:

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

安装完毕后,脚本在最后会提示你配置 pyenv 的环境变量,安装说明操作即可,最后重载 profile

source /YOUR_PROFILE_PATH

使用该脚本安装的 pyenv 默认整合了 virtualenv。

##通过 pyenv 安装 Python 不同版本

我们可以通过下述命令

pyenv install -l

来查看所有可用版本。

比如说,我要安装 python 3.5.1 版本,我只需要执行如下命令:

pyenv install 3.5.1

##查看和切换当前 Python 版本

###查看

pyenv versions 

列出你已经安装的所有 Python 版本和当前使用的版本,其中,system 代表系统预装 Python

###切换

globallocal 都是用来切换当前 Python 版本的命令,不过,global 是全局切换,local 是局部切换。

pyenv local 3.5.1

通常情况下,我们不适用 global 切换命令,因为很多系统工具依赖于低版本的 Python,切换之后,可能会出现不可预知的后果。

###卸载

pyenv uninstall 3.5.1

该命令即可卸载 Python 3.5.1 版本。

##pyenv 与 virtualenv

pyenv virtualenvs

该命令将列出系统目前所有已创建的虚拟环境。

pyenv virtualenv [-f|--force] [-u|--upgrade] [VIRTUALENV_OPTIONS] <version> <virtualenv-name>

该命令将创建新的虚拟环境,比如说,我要创建一个使用 Python 3.5.1 的新项目,命令如下:

pyenv virtualenv 3.5.1 my_project

实际上,创建好的虚拟环境就和一个单独的 Python 版本一样,你可以在 pyenv versions 中看到,也可以通过 localglobal 命令切换虚拟环境。

同样的,当项目结束,你可以通过 pyenv uninstall my_project 来删除该虚拟环境。


参考文章:

安装Python