今天给大家分享一个“VirtualEnv(虚拟环境)”的概念。

在学习RobotFramework时遇到这么一个问题:电脑本地环境已经安装了python3,但是RobotFramework接口测试框架一开始对python3的兼容还不够完全,存在较多的问题,所以需要使用python2环境来开展接口自动化工作。这个时候就遇到python和python3版本造成的环境冲突的问题了。如果卸载python3重新安装python2会导致我原有的其他项目可能出现问题;那么如果直接使用python3环境对应的RobotFramework又存在很多兼容性问题。

怎么办?这时候“VirtualEnv(虚拟环境)”的好处就体现出来了,而且它便于管理,比如更新某个项目的时候激活项目所在的虚拟环境,安装依赖包,而不会影响其他的已经在运行的项目。

大家都知道在日常的工作中,除了我上面遇到的项目不同所依赖的环境不同外,可能存在家里的电脑与公司电脑环境不同的问题,所以开辟“VirtualEnv(虚拟环境)”除了能解决多个项目运行的环境冲突问题,也能解决不同电脑上的环境问题,无疑是一个最佳的选择。

环境安装

VirtualEnv(虚拟环境)创造的整个过程分为2个步骤:创建虚拟环境+激活虚拟环境

第一步:创建

创建虚拟环境:python –m venv 虚拟环境名称

python 包冲突 分析 pipdeptree_虚拟环境

第二步、激活

激活虚拟环境:进入虚拟环境的Scripts文件夹启动activate.bat

python 包冲突 分析 pipdeptree_运维_02

虚拟环境激活成功后,可以在看到对应的虚拟环境名称:(environment),表示当前已经处于虚拟环境中,可以开始在虚拟环境下安装当前项目所需要的依赖包等东西。

python 包冲突 分析 pipdeptree_虚拟环境_03

真实环境VS虚拟环境

python 包冲突 分析 pipdeptree_python_04

从上面可以看到,本机的环境下安装了很多依赖库,大部分可能是新项目开发时不需要的;而虚拟环境初始化后很纯粹没有任何多余的东西,等于一张白纸,方便我们直接开始新的项目开发,避免了环境冲突的问题。

pip批量安装

·      在公司开发项目,环境都搭建好了,那么回到家里后为了继续开发该项目,就需要确保家里电脑的项目运行环境与公司电脑的项目运行环境保持一致。这个时候除了开辟虚拟环境外,还可使用“pip 批量安装功能”,将公司的虚拟环境内的依赖库导出形成一份文件,然后回到家里通过批量安装命令进行批量安装。

  1. 导出依赖包文件requirements.txt

将项目运行的环境依赖包,打包形成一个txt文件。

命令:pip freeze > requirements.txt

打包成功后文件内容如下:

python 包冲突 分析 pipdeptree_依赖包_05

(本文仅示范,所以上面依赖包内容比较少)

  1. 批量安装依赖包

进入家里电脑的虚拟环境内,执行批量安装命令:pip install -r requirements.txt

python 包冲突 分析 pipdeptree_python_06

注意:在执行批量安装命令前,确保当前所在文件夹和依赖包文件处在同一个目录下

END

经过上面的实践和说明,可以深刻了解到了虚拟环境和批量安装的好处了。python 开发的过程中就要学会使用虚拟环境,而不是等到在工作中部署项目的时候再来抱佛脚。到时候手忙脚乱出现问题,解决各种环境问题,影响项目的上线,问题可就大了!