linux管理python虚拟管理,Python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm...

1 引言

进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Django,十分不便。虚拟环境的出现可以很好的解决这一问题。

本篇博文主要绍Python的虚拟环境管理方法,包括virtualenv、virtualenvwrapper、pycharm等。需要说明的是,在使用前面提到的几种方法之前,必须确保系统中已经至少安装有一个Python版本。

2 virtualenv

(1 安装

virtualenv的安装与Python普通第三方包安装一样,都可以通过pip来安装:

pip install virtualenv

26ec1cecb8caab69d3a42bc2dd7c1aba.png

(2)创建虚拟环境

创建一个名为firstenv的虚拟环境:

virtualenv firstenv

481fd56fcab88a3b1a07b77b2c6a7c8d.png

上图中最后一行出现“done”的字样说明虚拟环境安装成功,此时,在当前文件夹会出现一个与刚新建的虚拟环境同名的文件夹:

7e086569e76de0fd9e3f6166e673c2ff.png

在firstenv文件夹内部的有一个铭文Scripts的子文件夹,这个文件夹存放了Python环境必备的一些可执行文件:

bf67f826d01cba0bb53efd69d49bbc40.png

看到这里你应该明白了,virtualenv所谓的虚拟环境就是在当前文件夹中以真实环境为模板,另外存储一套编译工具,实现与正式环境的隔离。

那么,刚新建号的环境该怎么使用呢?

(3)进入-退出虚拟环境

在进入虚拟环境前,需要在命令行中先进入上面提到的Scripts文件夹中,然后运行Scripts文件夹中的activate.bat这一批处理文件进入虚拟环境:

activate.bat

运行activate.bat文件后,命令行每一行前面都会出现虚拟环境标识,如下图所示,证明已经成功进入虚拟环境:

8858c9011b5bf606f2d0c0a69cee5c08.png

输入Python,查看一下虚拟环境版本:

f13f151fd53c6c5ff38db9128d65e596.png

刚装好的虚拟环境是非常干净的,验证一下:

87874fea4da136166a923b1f2db459f4.png

果然没有任何其它的第三方包。如果要为接下来的开发必要的第三方包,可以使用pip命令,这与在正式环境中的操作时一样的,另外说明一下,因为已经进入了虚拟环境,使用pip安装第三方包时,命令行可以在任何目录在中:

aa89b8c9fff951da8a5c984e969fd57a.png

那么,怎么退出这个虚拟环境呢?运行Scripts文件夹下deactivate.bat文件,不过,也可以不用回到Scripts文件夹中,直接运行deactivate.bat(后缀名可省略)即可。

b858534707e2178ab69c4c72fdb6852e.png

可以看到,运行deactivate.bat后,每行开头的(firstenv)标识果然没了。

3 virtualenvwrapper

virtualenv每一次使用都需要进入到虚拟环境目录的Scripts文件夹中,然后才能运行activate.bat文件,进入虚拟环境。使用有些繁琐不说,如果创建的虚拟环境多一些的话,管理也有些麻烦,所以就有了virtualenvwrapper。

(1)安装virtualenvwrapper

与virtualenv一样,可以通过pip安装:

pip install virtualenvwrapper-win

(2)创建虚拟环境

创建一个名为secondenv的虚拟环境:

mkvirtualenv secondenv

42cea0950447fb70310298ecd9cc14f6.png

运行上述命令后,在当前文件夹下可不会找到刚创建好的虚拟环境。通过云上面图片,发现virtualenvwrapper将虚拟环境安装在C:\Users\Administrator\Envs这一目录中,也就是说,virtualenvwrapper默认将虚拟环境同一安装到C:\Users\用户名\Envs这一目录中。

c72fbcd198ff3378cf1fb4e2abb811ab.png

通过workon命令查看已经新建的虚拟环境列表:

aaf221b0787141e93179d2aeb3ea9765.png

可以看到,我们无论在哪个目录下,运行workon命令,都可以列出workon新建的所有虚拟环境。

不过美中不足的是,virtualenvwrapper将虚拟环境安装在了默认的文件夹中。那么,怎么virtualenvwrapper将虚拟环境同一安装到我们指定的目录中呢?那就要通过配置系统环境变量来实现了。

首先新建一个文件夹,专门弄用来存放virtualenvwrapper创建的虚拟环境,例如在D盘新建一个名为virtualenvs的文件夹。然后进行如下配置:

桌面“此电脑”图标->右键->属性->高级系统设置->高级->环境变量->新建系统变量,接下来如下图所示,变量名输入WORKON_HOME,变量值输入文件夹路径,即D:\virtualenvs,输入完成后点击确定,保存退出。

9c2ea881e63d642607e91345a2b5501e.png

重新开一个命令行窗口(必须),再次新建虚拟环境:

661dea73d02471b362ea704c950a960a.png

查看一下当前新建好的虚拟环境列表:

98e5fbb8d4510c4ee6096de9ca044371.png

发现只有一个thirdenv,为什么之前新建的secondenv没有列出来呢?因为secondenv在之前默认的文件路径中,workon只会列出当前指定的文件路径下的虚拟环境。

(3)进入-退出虚拟环境

细心地你一定已经发现,事实上,用mkvirtualenv命令新建虚拟环境的时候,会自动进入虚拟环境中。不过,如果我们要进入已经新建好的虚拟环境该怎么做呢?当workon命令不带任何参数时,作用是列出所有的虚拟环境;当workon命令后面接虚拟环境名时,作用便是进入指定的虚拟环境。另外,上文也提到过,相比于virtualenv,使用virtualenvwrapper的好处就是你可以在任意目录下进入已创建的虚拟环境中。例如,进入刚新建好的虚拟环境thirdenv中:

workon thirdenv

328c3a3a748fe5f914ed65c574ca17ef.png

退出虚拟环境的方法倒是与virtualenv一样,采用deactivate这一命令:

d9c6e1dd966dafe2aaaccc0e78d58397.png

最后总结一下virtualenvwrapper的几个常用命令:

新建虚拟环境:mkvirtualenv + 虚拟环境名

列出所有虚拟环境:workon

进入虚拟环境:workon + 虚拟环境名

退出虚拟环境:deactivate

4 pycharm

一般而言,直接使用上面介绍的virtualenv和virtualenvwrapper两种方法进行虚拟环境管理还是比较少的,大多数情况下还是配合IDE进行虚拟环境管理。毋庸置疑,pycharm是最好最流行的Python IDE,功能强大,方便实用。pycharm中也集成了虚拟环境管理功能。

我们使用pycharm新建一个Python项目,并在创建项目时建立虚拟环境:

aa652e1a456c7ead1452e59e0f68c037.png

点击右下角的Create之后,项目就创建好啦。

刚创建好项目虚拟环境可是干净得很,需要为项目安装各种依赖,也就是安装第三方包,怎么做呢?

按下面步骤一次打开:File->Settings->Project:studyenv->Project Interpreter,会弹出下面的窗口:

c40242aaefbbec4efffd8cc0b18ace16.png

然后点击右上角的“+”号,出现下面的界面:

e0be1036b0c41d11dc7fb9469b42f265.png

包管理主要也是在这个窗口中进行。

d4dfb4972566e91f122e15cdd2e18ee0.png

回到上一个窗口,我们可以看到包列表,里面确实多了一个Django:

adb4a4cc12174ed3fdab0b2dcf598a98.png

Python进行编译时,pycharm会自动选用项目中的虚拟环境进行编译,所以pycharm中可没有进入和退出虚拟环境一说。怎么样,非常方便吧!

5 总结

合理利用虚拟环境,可以很好得解决同时开发多个项目时的环境问题。本文介绍了virtualenv、virtualenvwrapper、pycharm等3个虚拟环境管理工具,另外要说的是,除了这三个工具外,Annacon也是一个很强大的虚拟环境管理工具,Anaconda功能更加强大、多样,当然是用上也复杂一下,见 https://www.linuxidc.com/Linux/2019-08/160160.htm 。

0b1331709591d260c1c78e86d0c51c18.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值