在使用Python语言的时候我们使用pip来安装第三方包,但是由于pip的特性,系统中只能安装每个包的一个版本。但是在实际项目开发中,不同项目可能需要第三方包的不同版本,Python的解决方案就是虚拟环境。顾名思义,虚拟环境就是虚拟出来的一个隔离的Python环境,每个项目都可以有自己的虚拟环境,用pip安装各自的第三方包,不同项目之间也不会存在冲突。创建虚拟环境需要一些工具,本文将会介绍这些工具。
1.Virtualenv的安装
Virtualenv的安装很简单,安装好Python环境之后,执行下面的命令即可:
# pip install virtualenv
2.Virtualenv的基本使用
2.1 创建虚拟环境
- 首先进入工程的根目录下
# cd 工程目录路径
- 创建虚拟环境
# virtualenv 虚拟环境名
或者
# virtualenv --system-site-packages 虚拟环境名
以上两个命令任选一个即可,不同的是第一个命令创建的是纯净的环境,即只包含pip工具,第二个命令创建的环境会继承本地环境中包含的所有模块。
另外,如果没有虚拟环境名,虚拟环境会被创建在工程根目录,以后安装的所有模块也会放在工程根目录。有虚拟环境名,则所有文件都会放在虚拟环境名的同名目录下。
- 指定Python解释器
virtualenv -p /usr/bin/python3 虚拟环境名
-p 后面为Python解释器的路径
2.2 激活虚拟环境
要想使用虚拟环境,必须先激活虚拟环境:
# source 虚拟环境名/bin/activate
从现在起,pip安装的模块都会放在虚拟环境名的同名目录下。
2.3 退出虚拟环境
如果在虚拟环境中暂时完成了工作,则可以停用它:
# deactivate
现在已经回到了本地环境,pip安装的模块都会放在默认位置。
2.4 删除虚拟环境
要想删除虚拟环境,只需要删除虚拟环境名的同名目录即可:
# rm -rf 虚拟环境名
3.管理虚拟环境
因为virtualenv的启动、停止都只有在对应的工程目录中操作或者安装虚拟环境的位置,过一段时间后,可能有很多虚拟环境散落在系统各处。鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。
3.1 virtualenvwrapper安装
Linux系统:
# pip install virtualenvwrapper
Windows系统:
# pip install virtualenvwrapper-win
安装完成后,在~/.bashrc文件中加入以下内容:
export WORKON_HOME=~/Envs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/python3/bin/virtualenvwrapper.sh
第一行是指定virtualenvwrapper存放虚拟环境的位置;
第二行是指定Python编译器,系统中有不同版本的Python时,必须指定;
第三行是virtrualenvwrapper的安装路径,在Python的安装目录下的bin目录中。
完成后保存文件,重新执行文件使配置生效
# source ~/.bashrc
3.2 virtualenvwrapper基本使用
- 创建虚拟环境
# mkvirtualenv --python=/usr/bin/python3 虚拟环境名
--python为可选参数,作用是指定Python解释器。
- 查看虚拟环境列表
# workon
- 切换虚拟环境
# workon 虚拟环境名
- 退出虚拟环境
# deactivate
- 删除虚拟环境
# rmvirtualenv 虚拟环境名