Python打包库
项目描述
Distutils2的开发已停止。
tl;dr:目前继续使用setuptools和pip,不要使用distutils2。
Distutils2试图满足所有人的需求;Python核心开发者和打包工具的开发者有不同的策略来改进打包。首先,各种功能被讨论并集成到Python中,例如命名空间包和虚拟环境(Python 3.3)。其次,为二进制分发定义了新的格式(wheel)。第三,pip被正式指定为标准安装程序,并随Python一起安装(3.4)。目前,正在进行新的PEPs,以使版本号更加健壮,元数据更加全面,wheel可以在更多平台上使用,构建工具更加灵活等。像conda、bento、hashdist或pyinstaller等其他努力可能更好地满足特定Python社区的需求。
以下为旧描述。
欢迎来到Distutils2
Distutils2是取代Distutils的打包库。它有三个主要受众
希望分发其代码的Python作者
希望安装模块或应用程序的最终用户
需要支持库来构建的与打包相关的工具的开发者
作者需要编写一个 setup.cfg 文件并运行一些命令来打包和分发他们的代码。最终用户可以使用包含的 pysetup 程序搜索、安装和删除 Python 项目。最后,开发者可以在他们的工具中重用类和函数。
Distutils2 代码库是 Distutils 的分支。它与 Distutils 不兼容,也不依赖于它。它提供了更多功能并实现了新的打包标准。在 Python 3.3 中,Distutils2 包含在标准库中,模块名为“packaging”。文档可在 https://docs.pythonlang.cn/dev/packaging 查看——为了便于维护,它不会在这个仓库中重复。您可以使用打包文档来使用 Distutils2;只有包名不同(packaging 与 distutils2),所有模块、类和函数名称相同。
如果您想做出贡献,请查看 DEVNOTES.txt 或 http://wiki.python.org/Distutils2/Contributing。
请注意,Distutils2 仍处于 alpha 阶段,其 API 可能会更改。它不应用于关键部署。话虽如此,可以在保持与基于旧 Distutils 或 Setuptools 的工具兼容的同时开始使用它,并且开发者渴望从作者、最终用户和开发者那里获得反馈。
有用链接
邮件列表: http://mail.python.org/mailman/listinfo/distutils-sig/
友好导师的邮件列表,以指导新贡献者: http://mail.python.org/mailman/listinfo/core-mentorship
错误跟踪器: http://bugs.python.org/(组件“Distutils2”)