简要说明
在使用Python语言的时候我们使用pip来安装第三方包,但是由于pip的特性,系统中只能安装每个包的一个版本。但是在实际项目开发中,不同项目可能需要第三方包的不同版本,Python的解决方案就是虚拟环境。顾名思义,虚拟环境就是虚拟出来的一个隔离的Python环境,每个项目都可以有自己的虚拟环境,用pip安装各自的第三方包,不同项目之间也不会存在冲突。virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包,任何你使用pip安装的包将会放在 venv 文件夹中,与全局安装的Python隔绝开。
安装
pip install virtualenv
使用
1.为一个工程创建一个虚拟环境:
$ cd my_project_dir
$ virtualenv venv #venv为虚拟环境目录名,目录名自定义
virtualenv venv 将会在当前的目录中创建一个文件夹,包含了Python可执行文件,以及 pip 库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 venv )可以是任意的。
这里有一个额外参数–system-site-packages,如果在创建虚拟环境的时候使用该参数,虚拟环境会继承主环境的所有第三方包。如果你希望虚拟环境和主环境独立,就不要用这个参数
你可以选择使用一个Python解释器:
$ virtualenv -p /usr/bin/python3.7 venv # -p参数指定Python解释器程序路径
这将会使用 /usr/bin/python2.7 中的Python解释器。
2.要开始使用虚拟环境,其需要被激活:
$ source venv/bin/activate
从现在起,任何你使用pip安装的包将会放在 venv 文件夹中,与全局安装的Python隔绝开。
像平常一样安装包,比如:
$ pip install requests
安装包将会存放于venv/lib/python3.7/site-packages
如果安装过程中出现sslerror的问题,使用pip源可以解决问题:
pip install requests -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
3.如果你在虚拟环境中暂时完成了工作,则可以停用它:
$ . venv/bin/deactivate
这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。
要删除一个虚拟环境,只需删除它的文件夹。(执行 rm -rf venv )。