• 0
  • 0
分享
  • 高效使用“虚拟环境+pip批量安装”解决项目环境冲突问题——软件测试圈
  • 曼倩诙谐 2021-09-09 09:44:03 字数 1354 阅读 790 收藏 0

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

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

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

  环境安装

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

  第一步:创建

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

1-1.png

  第二步、激活

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

1-2.png

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

1-3.png

  真实环境VS虚拟环境

1-4.png

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

  pip批量安装

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

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

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

  命令:

pip freeze > requirements.txt

1-5.png

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

1-6.png

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

  2.批量安装依赖包

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

1-7.png

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

  总结

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



作者:绿豆芽呀   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   其实大部分类型的测试都需要去准备测试数据。  ·手工测试:一些基础数据,比如配置数据等等是需要去准备的;  · 自动化测试:基础需要准备,现有数据,动态运行时产生的数据是需要准备的;  · 性能测试:跟自动化测试差不多。  这里就牵扯到了一些关于数据的概念了。  测试数据的分类  我们可以给测试数据分一些种类:  · 基础数据,比如一些内容管理系统会配置站点的标题,友情链接之类的基础配置数据;  · 存量数据,也就是现有数据。比如在测试一些电商站点的时候会提前插入一些商品信息,类目信息物流信息等;  · 动态数据,也可以叫做session数...
            0 0 595
            分享
          • 1、安全测试,什么是安全测试?安全性测试(Securitytest)它是指:在测试软件系统中对程序的危险防止和危险处理进行的测试,以验证其是否有效。2、安全性测试我们要做哪些工作呢?全面检验软件在软件需求规格说明中规定的防止危险状态措施的有效性和在每一个危险状态下的处理反应情况;对软件设计中用于提高安全性的逻辑结构、处理方案,进行针对性测试;在异常条件下测试软件,以表明不会因可能的单个或多个输入错误而导致不安全状态用错误的安全性关键操作进行测试,以验证系统对这些操作错误的反应;对安全性关键的软件单元功能模块要单独进行加强的测试以确认其满足安全性需求。3.安全性测试方法功能验证功能验证是采用软件...
            0 0 2013
            分享
          • 1、页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTMLLinkValidater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTMLLinkValidater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。2、相关性检查:功能相关性:删除/增加一项会不会对其他项产生...
            12 12 863
            分享
          • 一、TCP协议简介 因特网的运输层在应用程序断点之间传送应用程序报文,在这一层主要有两种传输协议 TCP和 UDP,利用这两种协议能够传输报文。TCP 协议的全称是 Transmission Control Protocol 的缩写,意思是传输控制协议,HTTP底层采用TCP 作为通信协议,这是因为 TCP 是一种可靠的协议,保证通讯的数据不丢失。TCP协议提供面向连接的服务,它能够控制并确认报文能够准确送达,并提供了拥塞机制来控制网络传输,因此当网络拥塞时,会抑制其传输速率。TCP,提供面向连接的服务,在传送数据之前必须先建立连接,数据传送完成后要释放连接。因此TCP是一种十分可靠...
            0 0 1241
            分享
          •   今天咱们聊一聊,26岁要进入软件测试行业,要做好哪些准备。  首先要明确的是,26岁入行不算晚,但是也是没有太多的时间容你去试错,所以每一步都必须走对。  26岁零基础转行软件测试,你必须要做的3个准备。  第一个准备:认知准备  1、进入测试行业一定要学习一门语言,认为做测试不用写代码或者对于写代码比较排斥的,可以绕道了;  2、技术是你立足的根本,但是不要认为技术做到最强,就可以得到100%的尊重;  3、在不断学习的同时也要积极地参与行业内的交流,比如沙龙、讲座等,朋友内推比海投简历靠谱的多;  4、学历很重要,项目经验很致命,英语是加分项;  5、学习是长反馈、反人性的,不要期待短...
            10 10 668
            分享
      • 51testing软件测试圈微信