更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

Python 虚拟环境创建工具 virtualenv

  • 发布:Python培训
  • 来源:练习题库
  • 时间:2017-09-26 16:48

如果我们将所有的第三方包都安装在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选项表示不复制我主机目前已经安装的包,这样创建的虚拟环境就只会包含setuptools、pip以及wheel三个包。

安装完成后,v_env目录下就会多了如下几个东西

开启虚拟环境

我们进入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

输出如下

安装第三方包

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

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

(v_env) F:\v_env>pip install openpyxl

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

发现多了openpyxl、et-xmlfile、jdcal等包,然后我们再检查一下Lib/site-packages目录

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

退出虚拟环境

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

(v_env) F:\v_env>deactivate

F:\v_env>

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

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python Web开发WSGI协议到底包含哪些内容?
下一篇:7步让你从零开始掌握Python机器学习!

Python编程练习三

Python正则表达式练习

Python 2的结束意味着什么

用python做一个划词翻译软件

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省