python中的虚拟环境

虚拟环境python

顾名思义,它是一个虚拟出来的环境。通俗的来说,这个虚拟的环境能够理解为一个“容器”,在这个容器中,咱们能够只安装咱们须要的依赖包,并且各个容器之间互相隔离,互不影响。web

例如:

咱们要学习Django,咱们经过这个环境搞一个Django的虚拟环境就行了。
Django也是一个很是流行的web框架。因为Django的迭代更新很是快,也比较频繁,因此有一些过期的东西须要丢弃掉,一些新的东西须要加进来,从而致使不一样的版本之间不兼容。好比Django1.三、Django1.四、Django1.8之间就有很大的差别性。或者是说,以Python的版本举例,如今工做中使用的Python版本与Python2.x和Python3.x两种。django

假设要进行Python web开发,使用的是Django。手上还有两个老项目A和B须要维护,而新项目C也正在开发中。这里项目A使用的是django1.3,项目B使用的是django1.4,而新项目C使用的是Django1.8。那么问题来了,如何同时在本地进行ABC这三个项目的开发和维护?
正常的模式多是这样:如今在A项目上有一个BUG须要修复,因而,先删除掉原来的django版本再安装django1.3。
数分钟后,bug修复完毕,好,如今进行新项目C的开发了,而后又要重复上面的故事。
好了,这仍是最理想的状况。最不理想的状况就是基于django的第三方依赖也是跟Django版本相关的,因而除了install和uninstall Django以外,还要uninstall和install其依赖,Orz,这特么的就尴尬了...app

venv能作什么呢?框架

VirtualEnv能够搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来。同时也能够用于在一台机器上建立多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。ide

Virtualenv是一个很是好的virtual python environment builder,他最大的好处是,可让每个python项目单独使用一个环境,而不会影响python系统环境,也不会影响其余项目的环境。学习

Virtualenv可用于建立独立的Python环境,在这些环境里面能够选择不一样的Python版本或者不一样的Packages,而且能够在没有root权限的状况下在环境里安装新套件,互相不会产生任何的影响。ui

相关文章
相关标签/搜索