python为何需要虚拟环境--Python虚拟环境的安装和配置-virtualenv
一 虚拟环境 virtual environment
它是一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。譬如,本次学习需要用到Django,我们可以做一个Django的虚拟环境,里面只需要安装Django相关包就可以了,需要Scrapy库,就在开辟一个独立空间来学习Scrapy库相关就行了。
二 前言:为什么要用虚拟环境
在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。如一下场景:
场景1:项目A需要某个框架1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要 来回 的卸载安装了,这样很容易就给你的项目带来莫名的错误;
场景2:公司之前的项目需要python2.7环境下运行,而你接手的项目需要在python3环境中运行,想想就应该知道,如果不使用虚拟环境,这这两个项目可能无法同时使用,使用python3则公司之前的项目可能无法运行,反正则新项目运行有麻烦。而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。
Tips:其实虚拟环境好处也确实比较多,会给我们项目的开发带来许多的好处,但是初学者,建议还是不要这么折腾,我们的首要目的是更快的掌握更多的知识,研究virtualenv会花费一些额外的经历,而且意志不强的同学很容易遭受打击,但是这个优点我们还是要记下来的方便以后要用的时候能很快的想起。
三 虚拟环境的安装和使用
本部分将通过命令给出搭建虚拟环境的过程和常见的使用方法:
1.前提必须安装好python环境,并检查电脑系统环境path是否有python路径,
2.安装虚拟环境
打开windows命令终端(cmd)安装虚拟环境 virtualenv(如果你执行了上面查看python版本的语句,那么要先使用exit()方法先退出)
pip3 install virtualenv
它会默认安装到你python库文件lib中,可以看安装完成的地址,里面给出了安装之后的库地址(上面是说我已经安装了,一般第一次安装任何库,看见sucessful就说明成了)
3.创建虚拟环境
通过上面的步骤安装成功之后,我们就可以创建虚拟环境了:virtualenv 虚拟环境名
这个命令创建虚拟环境,会在当前所在目录进行创建,如C:\Users\Smalu(电脑管理者路径)
virtualenv envname
4.进入虚拟环境
先要进入cd到虚拟环境的位置(目录)的Scripts中,然后在激活(activate.bat)虚拟环境,则进入新建的虚拟环境中了。
cd scrapy3env\Scripts
activate.bat
进入之后就可以通过pip3 命令安装需要各种框架依赖包了
5.退出虚拟环境 deactivate.bat
deactivate.bat
四 虚拟环境的配置
通过上面的步骤其实我们就已经完成虚拟环境virtualenv的安装和使用了,但是认真的你肯定发现了上面需要记住每一个虚拟环境的目录,才能进入虚拟环境并操作,很麻烦,下面我们通过另一个配置来简化我们的使用
1.安装 virtualenvwrapper-win
pip3 install virtualenvwrapper-win
2.然后使用workon查看是否安装成功(workon是简化操作的神级命令之一,下面你就可以体会到)
(出现这个,这说明安装成功)、
3.通过新方法新建我们的虚拟环境:mkvirtualenv 虚拟环境名
mkvirtualenv py3scrapy
4.配置。给你虚拟环境安装目录设置一个专门(你想放)的目录
通过上面的步骤,创建虚拟环境,默认放在C:\Users\电脑用户名\Envs目录中
这样可能有时候不满足我们的需求,比如我们想把项目放在其他盘(或其他位置),这样就需要我们自己配置一下环境
4.1 新建要存放大文件夹:如 D:\codeworkpace\python\envs
4.2 配置电脑系统环境变量,->新建系统变量 -> 变量名:WORKON_HOME ->指定路径:D:\codeworkpace\python\envs
通过设置WORKON_HOME路径,就给我们的python虚拟环境指定了一个存放位置:
再次运行workon,目录中没有虚拟环境了,因为默认目录已经改变
那么我们可以将之前的虚拟环境的项目拷贝到新建目录下
再次运行workon,就可以看到该目录下所有的虚拟空间了
5 进入(使用)某个虚拟空间:workon 虚拟空间名
workon #列出所以目录下的空间名
workon py3entest #使用名为py3entest的虚拟空间
#新建虚拟空间的方法依然是:mkvirtualenvs 空间名
6 退出虚拟空间 deactivate
deactivate
总结:配置之后的常用命令
列出虚拟环境列表:workon
新建虚拟环境:mkvirtualenv [虚拟环境名称] ->应该就是make的简写方便理解
启动/切换虚拟环境:workon [虚拟环境名称]
离开虚拟环境:deactivate