Python开发人员指南

本指南是一个全面的资源贡献 给Python的 -为新的和经验丰富的贡献者。这是 保持由维护的Python同一社区。我们欢迎您对Python的贡献!

快速参考

这是设置和添加补丁所需的基本步骤了解基础知识后,这就是清单。有关完整说明,请参阅安装指南

  1. 安装并设置Git和其他依赖项(有关详细信息,请参见“ 获取安装程序”页面)。

  2. 用叉子CPython的库 到你的GitHub帐户,并获得源代码使用:

    git clone https://github.com/<your_username>/cpython
    cd cpython
    
  3. 在UNIX和Mac OS上构建Python,请使用:

    ./configure --with-pydebug && make -j
    

    在Windows上使用:

    PCbuilduild.bat -e -d
    

    另请参见更详细的说明, 如何安装和构建依赖项以及UNIX, Mac OSWindows的特定于平台的页面

  4. 运行测试

    ./python -m test -j3
    

    大多数 Mac OS X系统上,请替换./python 为./python.exe在Windows上,使用python.bat在Python 2.7中,替换testtest.regrtest

  5. 创建一个新分支,您将在其中处理该问题,例如:

    git checkout -b fix-issue-12345 master
    

    如果问题尚不存在,请创建它琐碎的问题(例如拼写错误)不需要创建任何问题。

  6. 解决问题后,运行测试,然后运行,如果一切正常,请提交。make patchcheck

  7. 将分支推送到GitHub的fork上,并创建一个pull请求bpo-NNNN在请求请求描述中使用发行号例如:

    bpo-12345: Fix some bug in spam module
    

注意:如本指南“ 许可”部分所述,初次贡献者将需要签署“贡献者许可协议”(CLA)。

Python分支的状态

时间表状态初版生命尽头发布经理
PEP 596 特征 待定 待定 ŁukaszLanga
3.8 人教版569 错误修正 2019-10-14 2024-10 ŁukaszLanga
3.7 PEP 537 错误修正 2018-06-27 2023-06-27 内德·迪利
2.7 PEP 373 错误修正 2010-07-03 2020-01-01 本杰明·彼得森
3.6 PEP 494 安全 2016-12-23 2021-12-23 内德·迪利
3.5 PEP 478 安全 2015-09-13 2020-09-13 拉里·黑斯廷斯

master分支当前是将来的Python 3.9,并且是唯一接受新功能的分支。可以在下载页面上找到每个Python版本的最新版本

状态:

特征: 接受新功能,错误修正和安全修正。
预发行: 即将发布的功能版本接受了功能修复,错误修复和安全修复。
错误修正: 错误修正和安全修正被接受,新的二进制文件仍被发布。(也称为维护模式或稳定发布)
安全: 仅接受安全修复程序,并且不再发布任何二进制文件,但是可以发布仅源代码的新版本
生命尽头: 释放周期被冻结;没有进一步的变化可以推到它。

斜体字的日期已安排好并且可以调整。

默认情况下,寿命终止是在第一个发行版之后的5年,但是可以由每个分支的发行经理进行调整。对Python 2.7的支持目前已扩展至2020-01-01。早于2.7的版本已达到使用寿命。

另请参阅开发周期页面以获取有关分支的更多信息。

贡献

我们鼓励每个人都为Python做出贡献,因此我们制定了本开发人员指南。如果您在阅读了本指南中的内容后仍然有疑问,那么可以使用Core Python Mentorship组来帮助指导新贡献者完成整个过程。

来自Python社区的许多人为《开源指南》中的一系列出色指南做出了贡献

核心开发人员和贡献者都将发现以下有用的指南:

贡献Python指南:

入门后,高级任务和主题:

建议,由于需要上述文件读取。新的贡献者将通过阅读此表中提到的部分来建立对CPython工作流程的理解。您可以停下来感到舒适,然后立即开始贡献,而无需立即阅读和理解这些文档。如果您确实选择跳过文档,请注意,它是在阅读了先前文档的前提下编写的,因此您可能会发现有必要回溯以填写缺少的概念和术语。

提议对Python本身进行更改

改进Python的代码,文档和测试是正在进行的任务,这些任务永远都不会“完成”,因为Python是不断发展的技术体系的一部分。与这些必要的维护活动相比,一项更具挑战性的正在进行的任务是找到以标准库和语言定义的形式使Python成为开发人员工具包中更好的工具的方法。

尽管这些更改比上述更改少得多,但它们确实会发生,并且该过程也作为本指南的一部分进行了描述:

其他口译员的实现

该指南专门为Python参考解释器(也称为CPython)做出了贡献(尽管大多数标准库是用Python编写的,解释器核心是用C编写的,并且最容易与C和C ++生态系统集成)。

还有其他Python实现,每个实现都有不同的重点。像CPython一样,他们总是比开发人员有更多要做的事情。可能有趣的一些主要示例是:

  • PyPy:一个Python解释器,专注于在主要平台上进行高速(JIT编译)操作
  • Jython:一个Python解释器,致力于与Java虚拟机(JVM)环境的良好集成
  • IronPython:一个Python解释器,致力于与.NET和Mono提供的公共语言运行时(CLR)良好集成
  • Stackless:Python解释器专注于提供轻量级微线程,同时仍与CPython特定的扩展模块保持很大程度上兼容

主要资源

其他资源

行为准则

请注意,PSF行为准则涵盖 了Python Software Foundation支持的基础架构上的所有交互 ,其中包括Python自身开发中使用的所有基础架构(例如,邮件列表,问题跟踪器,GitHub等)。总的来说,这意味着无论他们在项目中的地位如何,每个人都应该开放,体贴和尊重他人。

完整目录

原文地址:https://www.cnblogs.com/boonya/p/11872677.html