为什么需要虚拟环境
在我们日常的项目开发过程中,我们通常会按照项目的需求去下载相应的框架库,如Django、request等,但是不同的项目所使用的框架库并不一定是相同的,或者使用相同的框架但是版本需求是不同的,这时候需要我们根据需求不断的安装,更新或卸载相应的库。会对我们的开发环境和项目造成很多不必要的麻烦,管理起来也相当困难。
想象一下下面这种场景:
项目A需要Django框架1.11.9版本,项目B需要Django2.1.5版本。如果没有不使用虚拟环境,那么当你运行这两个项目调试时,你就需要重复安装Django1.11.9版本调试项目A,然后卸载,安装Django2.1.5版本调试项目B,我敢打赌,折腾两次你就炸毛了
虚拟环境:每一个环境都相当于一个新的Python。你可以在这个新的环境里安装三方库,环境与环境之间是相互隔离的,也就是说在A环境中安装的库只在A中使用,不会影响其他环境。
总结:
- 虚拟环境可以让系统Python环境保持纯洁,干净,避免包的混乱和版本的冲突。
- 专为不同的项目搭建不同的环境,为每个项目使用虚拟环境可以保证项目只访问虚拟环境中的包,从而保持全局解释器的干净整洁,使其只作为创建虚拟环境的源。
- 使用虚拟环境不需要管理员权限。
- 多个虚拟环境同时进行,如同你拥有了多个Python解释器。
虚拟环境的搭建与使用
0_准备工作
打开Terminal/cmd,输入pip3 install virtualenv
(博主已经配置了虚拟环境,全局环境中已经有了virtualenv包,所以在虚拟环境中给大家演示安装过程)
1_创建一个虚拟环境
打开Terminal/cmd,先切换到一个你喜欢的目录下,因为virtualenv会在当前目录下创建一个虚拟环境,博主这里直接创建了一个My_venv的文件夹,然后在该文件夹下进行虚拟环境搭建。
输入virtualenv+空格+环境名称,就可以生成一个干净的Python环境,这里我们取名叫venv1
2_使用虚拟环境
激活虚拟环境[注意:只有激活之后,才算进入该虚拟环境,否则安装包时,依然是安装在全局环境之下]
对于Mac:进入虚拟环境所在目录,该目录下有一个bin文件夹,进入bin,输入source activate激活虚拟环境,当游标前出现括号包裹的虚拟环境名称时,激活成功。退出方法:退出当前terminal
对于Windows:激活文件在Script文件夹下。激活:进入Script文件夹下输入activate,退出:输入deactivate
进入虚拟环境以后,就可以安装项目所需库,搭建专属于项目的环境。
3_使用该虚拟环境
然后选择你创建的虚拟环境所在目录下的python解释器就可以使用该虚拟环境了。
当项目不再需要维护时,就可以直接删除虚拟环境所在文件夹,就相当于删除了当前虚拟环境。简单方便,还保证了系统Python环境的整洁。