您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 四平分类信息网,免费分类信息发布

为什么Python开发者都应该尝试使用Pipenv?

2023/4/11 13:52:43发布33次查看
pipenv是kenneth reitz在一年多前创建的“面向程序员的python开发工作流程”,现在已成为管理软件包依赖关系的python官方推荐资源。
python软件包安装管理的简要历史
为了正确理解pipenv解决的问题,有必要了解python软件包管理的发展历史。
起初,我们有python,但没有干净的方式来安装软件包。
然后,easy install出现了,它是一个可以相对容易安装python软件包的工具。但它带来了一个问题:卸载不需要的软件包并不容易。
后来,大多数python用户熟悉使用pip命令安装和卸载软件包。用户可以指定版本,运行pip freeze> requirements.txt将已安装软件包的列表输出到文本文件,并使用相同的文本文件pip install -r requirements.txt命令安装所需的应用程序。
但是,pip并不能将软件包彼此隔离。用户可能会使用不同版本的相同库的应用程序,因此我们需要一种方法来启用它。随着虚拟环境的发展,我们为每个应用程序创建了小型,孤立的环境。我们已经看到许多用于管理虚拟环境的工具:virtualenv,venv,virtualenvwrapper,pyenv,pyenv-virtualenv,pyenv-virtualenvwrapper等等。它们都可以在pip和requirements.txt文件中很好地发挥作用。
pipenv能干什么?
pipenv旨在解决几个问题。
首先,需要用于软件包安装的库、用于创建虚拟环境的库、用于管理虚拟环境的库以及与这些库相关的所有命令。pipenv提供包管理和虚拟环境支持,用户可以使用一种工具来安装,卸载,跟踪和记录依赖关系以及创建,使用和组织虚拟环境。当你用它开始一个项目时,如果你还没有使用pipenv,pipenv会自动为该项目创建一个虚拟环境。
pipenv通过放弃therequirements.txt规范转而使用称为pipfile的新文档来完成此依赖性管理。当使用pipenv安装库时,项目的pipfile会自动更新,包括版本信息以及可能的git存储库位置,文件路径和其他信息。
其次,pipenv可以更容易管理复杂的相互依赖关系。假设,你的应用程序可能依赖于特定版本的库,并且该库可能依赖于另一个特定版本的库。当应用使用的两个库具有相互冲突的依赖关系时,你的生活会变得艰难。pipenv通过名为pipfile.lock的文件中跟踪应用程序相互依赖关系的树来减轻这种痛苦。pipfile.lock还会验证生产中是否使用了正确版本的依赖关系。
另外,pipenv在多个开发人员协同开发项目时非常方便。由于pipenv会在安装软件包时自动记录依赖关系,所有人都能够按照预期正确安装依赖关系,开发人员可以节省时间并更快地开发产品。
此外,pipenv具有更好的安全特性,以易于理解的格式绘制依赖关系图,无缝处理.env文件,并且可以在一个文件中自动处理开发与生产环境的不同依赖关系。
使用pipenv的基础知识详见官方python教程的管理应用程序依赖关系部分。总之,一年时间,pipenv就成长为python官方推荐的顶级资源一定有其优势所在,所有python程序员不妨在评论区留下自己对pipenv的看法。
四平分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录