对python virtualenv虚拟环境的理解

1:什么是python环境?

要想在系统中运行python程序,则需要安装python解释器来解释python程序;我们都知道python就是用来制造“轮子”的,我们在写python程序时,可以使用其他人开发的“轮子”,这时我们就需要将其他人开发的轮子安装到python解释器中,以便于我们在程序中引用。由python解释器和安装到python解释器中的其他人开发的轮子一起组成了python环境。

2:为什么需要多环境?

在操作系统下,我们可以安装很多版本的Python解释器。同样,在每个版本的python解释器中也可以安装不同版本的第三方模块(“轮子”), 比如Django1.8,Django1.11。随着时间的流逝和科技的进步,每个项目,甚至同一个项目不同阶段的版本,可能需要不同版本的Python解释器和第三方模块。为了即清晰明了、又安全可靠的管理这些环境,通常为每个项目或每个应用各自建立一套“独立、隔离”的Python运行环境,从而就诞生了多环境。

3:什么是虚拟环境?

上一部分中提到了多环境存在的必要性,所以我们可以在操作系统中安装很多版本的python解释器,再在每个python解释器下安装第三方模块,从而满足多环境的需要;假如同时需要10的不同的环境,我们就需要安装10个python解释器,这样肯定很麻烦;所以我们就引入了虚拟环境,它也是一个“独立、隔离”的Python运行环境,它里面不但有指定版本的python解释器,还可以安装第三方模块,而且创建虚拟环境的过程特别容易(最起码比安装python解释器容易,还方便,下面会讲到)。

4:多环境长什么样?

创建的虚拟环境和我们安装的python环境是可共同存在于操作系统中的;共存在同一操作系统下的情形如下图所示:

image.png-49.5kB

核心要点是:

  • 一个操作系统下,可以有多个“操作系统级别的”Python解释器;
  • 每个Python解释器有一个指向自己的pip工具,两者一一对应;
  • 通过virtualenv可以把任何一个“操作系统级别的”Python解释器虚拟成为一个“虚拟级别”的解释器;
  • 每个“虚拟级别”的解释器又拥有自己独立的pip工具和site-packages;
  • 所有“虚拟级别”的解释器和所有“操作系统级别”的解释器是共存的。

4:如何创建和使用虚拟环境

(1):安装virtualenv

virtualenv就是用来创建虚拟环境的工具;其实virtualenv也是一个第三方的工具包,可以通过python解释器下的pip命令来安装;例如:pip install virtualenv,这样在当前python解释器下就有个virtualenv工具。假如当前系统中安装了三个系统级别的python解释器,版本分别为2.7,3.6,3.8;如果使用的是3.6版本的pip,则virtualenv工具是安装在了3.6版本的解释器里面。

(2):创建虚拟环境

使用virtualenv来创建虚拟环境时,会将virtualenv命令所在的python解释器的版本虚拟到所创建的虚拟环境中;如果使用的是(1)中创建的virtualenv命令,则虚拟环境中的python解释器版本就是3.6。我们还可以在创建虚拟环境时,通过-p参数来指定虚拟的python解释器版本,例如:virtualenv –p 解释器安装路径  env;env目录下存放的就是新创建的虚拟环境,默认情况下该虚拟环境里只有python解释器,没有任何的第三方模块,是个纯净的环境;虚拟环境目录如下图:

(3):启用虚拟环境

在虚拟环境的bin目录下有个activate命令,用于启动虚拟环境,例如:source  bin/activate;启动之后会在命令行的最前方看到(venv)的字样,它表示当前就处在venv这个虚拟环境内。现在,你可以把它当做一个正常的Python环境使用。例如:运行python命令,又或者使用pip安装第三方库pip install django;这些都被限制和绑定在venv这个虚拟环境内,不会对操作系统级别的本地的Python版本和其它的虚拟环境产生任何的影响!

(4):退出虚拟环境

在虚拟环境中有个deactivate命令,用于退出虚拟环境,例如:deactivate;退出当前虚拟环境以后,在命令行的最前方就看不到(venv)的字样了。

(5):删除虚拟环境

要删除虚拟环境,直接删除虚拟环境所在的目录就可以了,删除其中一个虚拟环境对其他的虚拟环境和其他系统级别的环境都不影响。删除虚拟环境后,所有以前使用该环境的工程都将受到影响。这点很好理解,所以请确保环境不再有需要再删除!

通过这5步知道虚拟环境的方便之处了吧,需要虚拟环境了就建立一个,不需要了就删除,不影响其他的环境,多飒!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值