介绍
2018年4月16日,Python包管理局(PyPA)部署了Python项目的官方在线存储库PyPI(发音pie-pea-eye)的新版本。以alpha和beta形式将新版本托管在https://pypi.org上;原始URL(https://pypi.python.org/pypi)现已重定向到这个新的、更简单的URL。
在最初被称为Monty Python skit接着又被非正式地称作cheese shop后,PyPI 2.0,这个名为 Warehouse的代码,使用了在第一个版本建立时不可用的工具来构造一个更现代的体系结构。
PyPI并不是打包生态系统中唯一需要发展的部分:用于构造Python项目、构建Python发行版和安装这些发行版的方法在过去两到四年中已经得到了改进。对于新版本的PyPI,这里以下是一个能促使你不断进步的高层次的修改概览。
依赖管理器:简化隔离和增加分辨率
在2008年创建、2011发布的pip工具,在相当长的一段时间里充当着Python事实上的安装程序。这是一个很好的工具,但是使用PIP本身有两个关键难点:
项目隔离:如果两个不同的项目需要同一库的两个不同版本,开发人员如何确保项目使用正确的库版本?
依赖同步:如果项目上的开发人员添加了新的依赖包或升级了现有的依赖包,开发人员又如何确保项目上的其他开发人员确定性地同步他们的依赖关系图?
为了解决第一个痛点,Python开发人员曾依赖虚拟环境。最初,这包括安装和配置virtualenv 或 virtualenvwrapper。从Python 3.3开始,Python也提供了

本文介绍了Python包管理的最新发展,包括PyPI的更新、依赖管理工具如Pipenv、Poetry和Hatch的出现,以及构建Python库的新工具。Pipenv作为官方推荐的应用依赖管理器,Poetry则提供了更可靠的依赖解决方案和同时管理应用程序与库的能力。Python项目结构建议使用src/目录,而构建工具如distutils和setuptools正逐渐被PEP 517和PEP 518引入的更灵活的构建系统替代。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



