PyPA 目标¶
distutils 跨平台构建和发布系统在 2000 年底被添加到 Python 标准库中。这意味着目前的 Python 软件发布生态系统(建立在 distutils 上)的基础已经有近 15 年的历史,这对成功的进化带来了各种挑战。
目前改善情况的努力始于 packaging
库(也称为 distutils2
) 没有进入 Python 3.3 的标准库。这一努力从 2009 年持续到 2012 年。
目前的工作由 Python Packaging Authority (PyPA) 管理,并与 Python 核心开发团队的成员合作。
PyPA 当前目标是:
提供一个相对容易使用的软件分发基础设施,它也是快速、可靠和合理安全的。“合理的安全”,由于向后兼容的限制,无法关闭一些不安全的遗留功能。
虽然它仍在定义中,但要努力建立一个 “元包装” 1 系统,即:
清楚地划分了发布的阶段
允许多个交互式工具与一个单一的工具进行交互
特别是允许替代的构建系统,即 “MetaBuild” 系统。
改善用户的文档,包括 Python 打包用户指南、docs.python.org 上与打包有关的任何内容,以及 pip、setuptools、virtualenv、和 wheel 的项目文档。
要循序渐进,但也要非常注意,不要因为匆忙而破坏目前正在运作的事情。
特别是 不要 一开始就把重点放在向标准库中添加一些东西作为我们解决包安装问题的方法。在标准库中添加一些东西是很难的,而且一旦添加了,要改变它是一个缓慢的过程。目前的大部分努力主要集中在第三方项目上。
- 1
见 Nick Coghlan 的 The Phases of Distribution 和 A Meta-Packaging System