virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:
1. 在没有权限的情况下安装新套件;
2. 不同应用可以使用不同的套件版本;
3. 套件升级不影响其他应用;
(1)pip安装virtualenv
$ pip install virtualenv
(2)创建目录、进入目录
$ mkdir testVirtualenv
$ cd testVirtualenv/
(3)创建一个独立的python环境,命名为venv
$ virtualenv --no-site-packages venv
virtualenv可以创建一个独立的Python环境,参数–no-site-packages,表示安装到系统Python环境中的第三方包都不会复制过来,得到一个干净的Python虚拟环境。
新建的Python环境被放到当前目录下的venv目录。有了venv这个Python环境,可以用source进入该环境:
(4)用source进入该环境
$ source venv/bin/activate
(venv)$
注意到命令提示符变了,有个(venv)前缀,表示当前环境是一个名为venv的Python环境。
下面就可以像正常环境安装第三方包了,用pip安装的包都被安装到venv这个环境下,系统Python环境不受任何影响。
(5)推出当前的venv环境
推出当前的venv环境,使用deactivate命令:
(venv) $ deactivate
$
此时就回到了正常的环境,现在pip或python均是在系统Python环境下执行。
完全可以针对每个应用创建独立的Python运行环境,这样就可以对每个应用的Python环境进行隔离。
(6)virtualenv原理
virtualenv把系统Python复制一份到virtualenv的环境,用命令source
venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。