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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   51testing软件测试圈“季度更文活动——万字更文”已经结束了,感谢各位的参与。  本次更文活动时间为2023年3月1日--2023年4月16日!  获奖情况和评审情况如下表所示:作者投稿字数6分及以上的文章数活动奖品九哥91542篇公牛魔方插座米果橙柠149140篇小米加湿器FunTeste742958篇小米加湿器*额外奖励100元京东卡优秀文章一览:· 卷完职场卷AI,测试真的会被ChatGPT代替吗?· 金三银四想跳槽?这篇测试人分龄跳槽指南请收好· 应对自动化测试9大挑战· 敏捷 ? DevOps ?· 国际化和本地化测试·&n...
            1 1 6511
            分享
          • 最近,从生产上反馈了一些产品缺陷,开发、测试一起对缺陷进行了多维度的原因分析,缺陷的逃逸是由产品生产过程中多种因素造成的,其中有部分原因是回归测试的策略选用不当。在此,我们有必要聚焦一下回归测试。先收藏:什么是回归测试?谈谈大佬眼中的回归测试什么是回归测试回归测试的英文名称:Regression Testing,从字面上看,是“倒退测试”。这就表明,软件有当前状态和原来状态之分。回归测试就是对软件的原来状态重新进行功能和非功能的测试,用以确保先前开发并测试过的软件在缺陷修复、配置改变、软件更新等等这些变化之后,仍能符合要求的运行(即:软件当前状态中那些没有被修改的部分的功能和非功能与原来状态保...
            0 0 5355
            分享
          •   华为nova11系列及全场景新品发布会正式举办,nova11系列、畅享60X、MateBook系列等新品相继亮相。这其中,有一个“大家伙”非常值得关注,华为智慧屏S3Pro相较于上一代实现了全面升级,搭载智慧双芯实现了音画体验和智慧体验的大幅提升。同时,也带来了业界最强的超级投屏功能,全面革新投屏体验。  华为智慧屏S3Pro搭载了一颗4K旗舰主芯和一颗AI视觉芯片,智慧双芯的性能组合成为了行业新的解决方案。这颗4K旗舰主芯拥有四核A73CPU,主频可达1.5GHz,在应用启动速度、操作流畅性等方面起到了关键作用。同时,这颗芯片还配备了一块1.6TOPS的NPU单元,带来了鸿鹄AIHDR增...
            0 0 760
            分享
          • (一)前言:之前搞自动化接口测试,由于接口的特性,要验证接口返回xml中的数据,所以没找到合适的轮子,就自己用requests造了个轮子,用着也还行,不过就是case管理有些麻烦,近几天又回头看了看postman也可以玩的很溜,所以和大伙分享下,但是postman也有自己的弱点,还是需要根据自己项目的特点来选择适合的工具。废话少说,开始...(二)安装和介绍1、首先安装chrome,然后在chrome的商店里搜postman,https://chrome.google.com/webstore/search/postman?t=http://webstore.google.com,然后有位同学...
            0 0 1106
            分享
          •   埃隆·马斯克旗下人工智能公司xAI最新推出了名为GroK的人工智能聊天机器人,并面向美国地区的Premium+ X 用户开放。据悉,Grok采用了名为Grok-1的模型,与目前OpenAI旗下的ChatGPT所使用的GPT-4模型不同。  但越来越的用户注意到,埃隆·马斯克的AI工具Grok的一些回答和ChatGPT几乎一模一样,这也让用户认为,Grok就是直接从竞争对手ChatGPT那里抓取内容。换句话说,Grok是在套壳ChatGPT?  目前来看,Grok的稳定性似乎有点问题,而且表现的颇为“叛逆”,在其回答中直接调侃其创始人埃隆·马斯克。“让我们谈谈你对X的迷恋。这就像你在试图弥补...
            0 0 740
            分享
      • 51testing软件测试圈微信