进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Django,十分不便。虚拟环境的出现可以很好的解决这一问题。
本篇博文主要绍Python的虚拟环境管理方法,包括virtualenv、virtualenvwrapper、pycharm等。需要说明的是,在使用前面提到的几种方法之前,必须确保系统中已经至少安装有一个Python版本。
2 virtualenv(1 安装
virtualenv的安装与Python普通第三方包安装一样,都可以通过pip来安装:
pip install virtualenv
(2)创建虚拟环境
创建一个名为firstenv的虚拟环境:
virtualenv firstenv
上图中最后一行出现“done”的字样说明虚拟环境安装成功,此时,在当前文件夹会出现一个与刚新建的虚拟环境同名的文件夹:
在firstenv文件夹内部的有一个铭文Scripts的子文件夹,这个文件夹存放了Python环境必备的一些可执行文件:
看到这里你应该明白了,virtualenv所谓的虚拟环境就是在当前文件夹中以真实环境为模板,另外存储一套编译工具,实现与正式环境的隔离。
那么,刚新建号的环境该怎么使用呢?
(3)进入-退出虚拟环境
在进入虚拟环境前,需要在命令行中先进入上面提到的Scripts文件夹中,然后运行Scripts文件夹中的activate.bat这一批处理文件进入虚拟环境:
activate.bat
运行activate.bat文件后,命令行每一行前面都会出现虚拟环境标识,如下图所示,证明已经成功进入虚拟环境:
输入Python,查看一下虚拟环境版本:
刚装好的虚拟环境是非常干净的,验证一下:
果然没有任何其它的第三方包。如果要为接下来的开发必要的第三方包,可以使用pip命令,这与在正式环境中的操作时一样的,另外说明一下,因为已经进入了虚拟环境,使用pip安装第三方包时,命令行可以在任何目录在中:
那么,怎么退出这个虚拟环境呢?运行Scripts文件夹下deactivate.bat文件,不过,也可以不用回到Scripts文件夹中,直接运行deactivate.bat(后缀名可省略)即可。
可以看到,运行deactivate.bat后,每行开头的(firstenv)标识果然没了。
3 virtualenvwrappervirtualenv每一次使用都需要进入到虚拟环境目录的Scripts文件夹中,然后才能运行activate.bat文件,进入虚拟环境。使用有些繁琐不说,如果创建的虚拟环境多一些的话,管理也有些麻烦,所以就有了virtualenvwrapper。
(1)安装virtualenvwrapper
与virtualenv一样,可以通过pip安装:
pip install virtualenvwrapper-win
(2)创建虚拟环境
创建一个名为secondenv的虚拟环境:
mkvirtualenv secondenv
运行上述命令后,在当前文件夹下可不会找到刚创建好的虚拟环境。通过云上面图片,发现virtualenvwrapper将虚拟环境安装在C:\Users\Administrator\Envs这一目录中,也就是说,virtualenvwrapper默认将虚拟环境同一安装到C:\Users\用户名\Envs这一目录中。
通过workon命令查看已经新建的虚拟环境列表:
可以看到,我们无论在哪个目录下,运行workon命令,都可以列出workon新建的所有虚拟环境。
不过美中不足的是,virtualenvwrapper将虚拟环境安装在了默认的文件夹中。那么,怎么virtualenvwrapper将虚拟环境同一安装到我们指定的目录中呢?那就要通过配置系统环境变量来实现了。
首先新建一个文件夹,专门弄用来存放virtualenvwrapper创建的虚拟环境,例如在D盘新建一个名为virtualenvs的文件夹。然后进行如下配置: