Python 虚拟环境 virtualenv

Posted 技术之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 虚拟环境 virtualenv相关的知识,希望对你有一定的参考价值。


再不点技术之路关注,机会就要飞走了哦

简介

virtualenv是一个创建独立的Python环境的工具。

如果我们将所有的第三方包都安装在site-packages目录下,假设某工程A,依赖某个包Libxxx的版本V1.0,而另外一个工程B,则依赖该包的版本V2.0,那么这两个工程可能将不能同时满足条件;

或者我们仅仅想安装某个第三方包,而不想影响本机的环境以及已经部署的工程;

或者我们甚至根本没有权限在全局的site-packages安装包;

那么这个时候virtualenv就能发挥作用了。

它能解决依赖包、版本或者权限的一些问题。它创建的独立Python环境提供有它独立的目录,并提供了必要的执行文件,同时默认安装了pip

安装

要安装virtualenv,当然,前提是你已经有了Python环境,如何安装Python,我们在这里就不讨论了(可以参考官方文档:https://docs.python.org/2/using/index.html),我们默认已经有了Python环境,以及`pip`工具,如果这个都没有,那还是先利用搜索引擎查一查如何安装这个吧,以Windows环境下示例检验一下

C:\Users\Administrator>python --version Python 2.7.13 C:\Users\Administrator>pip -V pip 9.0.1 from c:\python27-32\lib\site-packages (python 2.7)

然后我们可以很简单的通过pip安装virtualenv,如下

pip install virtualenv

安装完成后可以验证一下

C:\Users\Administrator>virtualenv --version15.1.0

创建虚拟环境

创建独立的虚拟环境,需要先创建一个目录,然后指定该目录作为虚拟环境的目录,比如我们在F盘创建一个v_env目录

F:\>mkdir v_env

这样只是个人习惯,当然,如果你不创建该目录,直接执行下面的命令,也会在当前目录创建该目录

然后再执行下述命令,创建名叫v_env的虚拟环境

F:\>virtualenv --no-site-packages v_env New python executable in F:\v_env\Scripts\python.exe Installing setuptools, pip, wheel...done. F:\>

样就表示创建完成了,其中的--no-site-packages选项表示不复制我主机目前已经安装的包,这样创建的虚拟环境就只会包含setuptoolspip以及wheel三个包。

安装完成后,v_env目录下就会多了如下几个东西Python 虚拟环境 virtualenv

开启虚拟环境

我们进入v_env目录,并执行Scripts\activate即可开启该虚拟环境(Mac环境下为bin/activate),如下

F:\>cd v_env F:\v_env>Scripts\activate (v_env) F:\v_env>

我们可以看到命令提示符前面多了(v_env)的东西,即表明正在该虚拟环境中。

此时我们可以使用pip list查看,包含了哪些包

(v_env) F:\v_env>pip -list

输出如下Python 虚拟环境 virtualenv

安装第三方包

我们检查一下该虚拟环境中的Lib/site-packages下的东西Python 虚拟环境 virtualenv


然后我们在该虚拟环境中安装一个之前使用到的openpyxl

(v_env) F:\v_env>pip install openpyxl

安装成功后,使用pip list查看一下


发现多了openpyxlet-xmlfilejdcal等包,然后我们再检查一下Lib/site-packages目录


这样说明确实安装成功了,且安装到我们了虚拟环境中,不影响主机的环境。

退出虚拟环境

因为我们执行了Scripts\acitvate(Mac为bin/activate)后,virtualenv都会将该虚拟环境下的Scripts(或bin)目录添加到环境变量中,故我们需要退出虚拟环境,直接执行deactivate命令即可

(v_env) F:\v_env>deactivate F:\v_env>

命令提示符前没有(v_env)表明现在是主机的环境了。

封面图片来源:http://www.polayoutu.com/collections/7/115_%E9%83%91%E6%98%8E%E7%A5%81

以上是关于Python 虚拟环境 virtualenv的主要内容,如果未能解决你的问题,请参考以下文章

Python虚拟环境(virtualenv)

Python虚拟环境(virtualenv)

Python 虚拟环境 virtualenv

Python虚拟环境virtualenv

Pycharm结合virtualenv虚拟环境的使用

python虚拟环境--virtualenv