本指南是对Python做出贡献的综合资源-无论是新手还是有经验的贡献者。它由维护Python的同一社区维护。我们欢迎您对Python的贡献!
以下是设置和贡献apatch所需的基本步骤。一旦你了解了基础知识,这就是一份核对表。有关完整说明,请参阅安装指南。
安装和设置Git和其他依赖项(有关详细信息,请参阅Git设置页面)。
另请参阅更详细的说明、如何安装和构建依赖项以及适用于UNIX、Mac OS和Windows的特定于平台的页面。
在大多数Mac OS X系统上,将./python.exe替换为./python.exe。在Windows上,使用python.bat。对于Python2.7,将test替换为test.regrtest。
如果问题尚不存在,请创建它。琐碎的问题(例如打字错误修复)不需要创建任何问题。
修复问题后,运行测试,运行make patchcheck,如果一切正常,请提交。
在GitHub上推动叉子上的分支并创建拉取请求。在拉式请求描述中包括使用BPO-NNNN的问题编号。例如:
首次投稿人需要签署本指南许可部分中所述的贡献者许可协议(CLA)。
主分支目前是未来的Python3.10,并且是唯一接受新特性的分支。可以在下载页面上找到每个Python版本的最新版本。
接受错误修复和安全修复,仍会发布新的二进制文件。(也称为维护模式或稳定版本)。
只接受安全修复,不再发布二进制文件,但可以发布仅限源代码的新版本。
默认情况下,生命周期终止时间安排在第一个版本发布后5年,但可以由每个分支机构的发布经理进行调整。所有的Python2版本都已经到了生命周期的尽头。
我们鼓励每个人都为Python做贡献,这就是为什么我们发布了这本开发人员指南。如果您在审阅完本指南中的材料后仍有问题,那么Core Python指导小组可以帮助指导新贡献者完成整个过程。
Python社区的许多人为开源指南的一系列优秀指南做出了贡献。
建议根据需要阅读上述文档。NewContributors将通过阅读此表中提到的内容来加深对CPython工作流的理解。您可以在您觉得舒服的地方停下来,立即开始贡献,而不需要立即阅读和理解这些文档。如果您确实选择在文档中跳过,请注意,它是在假定前面的文档已阅读的情况下编写的,因此您可能会发现有必要回溯以填充缺失的概念和术语。
改进Python的代码、文档和测试是永远不会“完成”的持续任务,因为Python是不断发展的技术系统的一部分。与必要的维护活动相比,还有一项更具挑战性的持续任务,那就是设法使Python以标准库和语言定义的形式成为开发人员工具包中更好的工具。
虽然这些类型的更改比上面描述的要少得多,但它们确实会发生,该过程也将作为本指南的一部分进行描述:
本指南专门针对Python参考解释器(也称为CPython)做出贡献(虽然大多数标准库是用Python编写的,但解释器核心是用C编写的,并且最容易与C和DC++生态系统集成)。
还有其他Python实现,每个实现都有不同的侧重点。像CPython一样,他们想要做的事情总是比开发人员要做的要多。可能会感兴趣的一些主要示例包括:
IronPython:一个专注于与.NET和Mono提供的公共语言运行时(CLR)良好集成的Python解释器。
Stackless:一个Python解释器,专注于提供轻量级微线程,同时在很大程度上与CPython特定的扩展模块兼容。
任何人都可以克隆本指南的源代码。请参阅帮助开发人员手册。
请注意,Python Software Foundation支持的框架上的所有交互都包含在PSF行为准则中,其中包括Python本身开发中使用的所有基础设施(例如,邮件列表、问题跟踪器、GitHub等)。一般来说,这意味着每个人都应该是开放、体贴和尊重他人的,无论他们在项目中处于什么位置。