虚拟环境是个好东西,把每个项目单独拎出来集成到一个虚拟环境内,虚拟环境之间的各种依赖库互不干扰。
之前我一直是用 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
###切换
global
和 local
都是用来切换当前 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
中看到,也可以通过 local
和 global
命令切换虚拟环境。
同样的,当项目结束,你可以通过 pyenv uninstall my_project
来删除该虚拟环境。
参考文章: