为什么Python开发人员应该经常使用Pipenv

  • 电脑网络维修
  • 2024-11-14

Pipenv 是由 Kenneth Reitz 在一年多前创立的“面向开发者而生的 Python 开发上班流”,它曾经成为治理软件包依赖相关的 Python 官网介绍资源 。但是关于它处置了什么疑问,以及它如何比经常使用和 requirements.txt 文件的规范上班流更有用途,这两点依然存在困惑。在本月的 Python 专栏中,咱们将填补这些空白。

Python 包装置简史

为了了解 Pipenv 所处置的疑问,看一看 Python 包治理如何开展十分有用的。

让咱们回到***个 Python 版本,这时咱们有了 Python,但是没有洁净的方法来装置软件包。

而后有了 Easy Install ,这是一个可以相对容易地装置其余 Python 包的软件包,但它也带来了一个疑问:卸载不须要的包并不容易。

退场,绝大少数 Python 用户都相熟它。可以让咱们装置和卸载包。咱们可以指定版本,运转 pip freeze > requirements.txt 来输入一个已装置包列表到一个文本文件,还可以用相反的文本文件配合 pip install -r requirements.txt 来装置一个运行程序须要的一切包。

但是并没有蕴含将软件包彼此隔离的方法。咱们或者会开发经常使用相反库的不同版本的运行程序,因此咱们须要一种方法来成功这一点。随之而来的是 虚构环境 ,它使咱们能够为咱们开发的每个运行程序创立一个小型的、隔离的环境。咱们曾经看到了许多治理虚构环境的工具: virtualenv 、、 virtualenvwrapper 、、 pyenv-virtualenv 、 pyenv-virtualenvwrapper 等等。它们都可以很好地经常使用和 requirements.txt 文件。

新方法:Pipenv

Pipenv 旨在处置几个疑问:

首先,须要库来装置包,外加一个用于创立虚构环境的库,以及用于治理虚构环境的库,再有与这些库相关的一切命令。这些都须要治理。Pipenv附带包治理和虚构环境允许,因此你可以经常使用一个工具来装置、卸载、跟踪和记载依赖性,并创立、经常使用和组织你的虚构环境。当你经常使用它启动一个名目时,假设你还没有经常使用虚构环境的话,Pipenv将智能为该名目创立一个虚构环境。

Pipenv 经过丢弃 requirements.txt 规范转而将其移动到一个名为的新文档中来成功这种依赖治理。当你经常使用 Pipenv 装置一个库时,名目标会智能更新装置细节,包括版本消息,还有或者的 Git 仓库位置、文件门路和其余消息。

其次,Pipenv宿愿能更容易地治理复杂的相互依赖相关。你的运行程序或者依赖于某个特定版本的库,而那个库或者依赖于另一个特定版本的库,这些依赖相关如海龟般重叠起来。当你的运行程序经常使用的两个库有抵触的依赖相关时,你的状况会变得很困难。Pipenv宿愿经过在一个名为 Pipfile.lock 的文件中跟踪运行程序相互依赖相关树来减轻这种痛苦。 Pipfile.lock 还会验证消费中能否经常使用了正确版本的依赖相关。

另外,当多个开发人员在开发一个名目时,Pipenv 很繁难。经过上班流,凯西或者会装置一个库,并花两天时间经常使用该库成功一个新配置。当凯西提交更改时,他或者会遗记运转来更新 requirements.txt 文件。第二天,杰米拉取凯西的扭转,测试就突然失败了。这样会破费好一会儿才干看法到疑问是在 requirements.txt 文件中缺少相关库,而杰米尚未在虚构环境中装置这些文件。

由于 Pipenv 会在装置时智能记载依赖性,假设杰米和凯西经常使用了 Pipenv,会智能更新并蕴含在凯西的提交中。这样杰米和凯西就可以节俭期间并更快地运送他们的产品。

***,将 Pipenv 介绍给在你名目上上班的其他人,由于它经常使用规范化的模式来装置名目依赖项和开发和测试的需求。经常使用上班流和 requirements.txt 文件象征着你或者只要一个 requirements.txt 文件,或针对不同环境的多个 requirements.txt 文件。例如,你的共事或者不分明他们能否应该在他们的笔记本电脑上运转名目时是运转还是。当两个相似的 requirements.txt 文件彼此不同步时它也会形成混杂:能否过期了,还是真的应该与不同?多个 requirements.txt 文件须要更多的高低文和文档,以使其他人能够依照预期正确装置依赖相关。这个上班流程有或者会混杂同时并参与你的保养累赘。

经常使用 Pipenv,它会生成,经过为你治理对不同环境的依赖相关,可以防止这些疑问。该命令将装置主名目依赖项:

参与标记将装置开发/测试的 requirements.txt

经常使用 Pipenv 还有其余好处:它具有更好的安保个性,以易于了解的格局绘制你的依赖相关,无缝处置文件,并且可以在一个文件中智能处置开发与消费环境的不同依赖相关。你可以在 文档 中浏览更多内容。

经常使用 Pipenv

经常使用 Pipenv 的基础常识在官网 Python 包治理教程 治理运行程序依赖相关 局部中具体引见。要装置 Pipenv,经常使用:

要装置在名目中经常使用的包,请更改为名目标目录。而后装置一个包(咱们将经常使用 Django 作为例子),运转:

你会看到一些输入,标明 Pipenv 正在为你的名目创立一个。

假设你还没有经常使用虚构环境,你还会看到 Pipenv 的一些输入,说明它正在为你创立一个虚构环境。

而后,你将看到你在装置包时常看到的输入。

为了生成 Pipfile.lock 文件,运转:

你也可以经常使用 Pipenv 运转 Python 脚本。运转名为的下层 Python 脚本:

你将在控制台中看到预期结果。

启动一个 shell,运转:

假设你想将经常使用 requirements.txt 文件的名目转换为经常使用 Pipenv,请装置 Pipenv 并运转:

这将创立一个 Pipfile 并装置指定的 requirements.txt 。思索一下更新你的名目!

了解更多

检查 Pipenv 文档,特意是 Pipenv 的基本用法 ,以协助你进一步学习。Pipenv 的创立者 Kenneth Reitz 为 Pipenv 在最近的 PyTennessee 宣布了一篇演讲:“ Python 依赖治理的未来 ”。这次演讲没有被记载上去,但他的 幻灯片 有助于了解 Pipenv 所做的以及处置的疑问。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/4401.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号