Following system colour scheme - Python 增强提案 Selected dark colour scheme - Python 增强提案 Selected light colour scheme - Python 增强提案

Python 增强提案

PEP 361 – Python 2.6 和 3.0 发布计划

作者:
Neal Norwitz, Barry Warsaw
状态:
最终版
类型:
信息性
主题:
发布
创建日期:
2006年6月29日
Python 版本:
2.6, 3.0
发布历史:
2008年3月17日

目录

摘要

本文档描述了 Python 2.6 和 3.0 的开发和发布计划。该计划主要关注 PEP 级别的事项。小型功能可以添加到第一个测试版发布之前(包括第一个测试版)。错误可以在最终发布之前修复。

将至少有两次 Alpha 版本发布、两次 Beta 版本发布和一个发布候选版本。计划于2008年10月发布。

Python 2.6 不仅是 Python 2 系列的下一个进展,它也是一个过渡版本,旨在帮助开发人员开始为 Python 3.0 准备他们的代码。因此,许多功能正在从 Python 3.0 反向移植到 2.6。因此,同时发布这两个版本是合理的。Python 1.6 和 2.0 的发布就开创了这一先例。

直到发布候选版(rc),我们将每月同步发布 Python 2.6 和 3.0。发布将在每个月的第一周的周三进行,贯穿整个 Beta 测试周期。由于 Python 2.6 更早准备就绪,并且我们有外部截止日期希望满足,我们决定将 rc 版本分开。因此,Python 2.6 最终版目前计划在 Python 3.0 最终版之前两周发布。

发布经理和团队

  • 2.6/3.0 发布经理:Barry Warsaw
  • Windows 安装程序:Martin v. Loewis
  • Mac 安装程序:Ronald Oussoren
  • 文档:Georg Brandl
  • RPMs:Sean Reifschneider

发布生命周期

Python 3.0 不再进行任何目的的维护。

Python 2.6.9 是 Python 2.6 系列的最终安全补丁(仅源代码)维护版本。随着其于2013年10月29日发布,对 Python 2.6 的所有官方支持均已结束。Python 2.6 不再进行任何目的的维护。

发布时间表

  • 2008年2月29日:Python 2.6a1 和 3.0a3 发布
  • 2008年4月2日:Python 2.6a2 和 3.0a4 发布
  • 2008年5月8日:Python 2.6a3 和 3.0a5 发布
  • 2008年6月18日:Python 2.6b1 和 3.0b1 发布
  • 2008年7月17日:Python 2.6b2 和 3.0b2 发布
  • 2008年8月20日:Python 2.6b3 和 3.0b3 发布
  • 2008年9月12日:Python 2.6rc1 发布
  • 2008年9月17日:Python 2.6rc2 和 3.0rc1 发布
  • 2008年10月1日:Python 2.6 最终版发布
  • 2008年11月6日:Python 3.0rc2 发布
  • 2008年11月21日:Python 3.0rc3 发布
  • 2008年12月3日:Python 3.0 最终版发布
  • 2008年12月4日:Python 2.6.1 最终版发布
  • 2009年4月14日:Python 2.6.2 最终版发布
  • 2009年10月2日:Python 2.6.3 最终版发布
  • 2009年10月25日:Python 2.6.4 最终版发布
  • 2010年3月19日:Python 2.6.5 最终版发布
  • 2010年8月24日:Python 2.6.6 最终版发布
  • 2011年6月3日:Python 2.6.7 最终版发布(仅安全补丁)
  • 2012年4月10日:Python 2.6.8 最终版发布(仅安全补丁)
  • 2013年10月29日:Python 2.6.9 最终版发布(仅安全补丁)

3.0 已完成的功能

有关 Python 3.0 项目的详细信息,请参见 PEP 3000PEP 3100

2.6 已完成的功能

PEPs

  • PEP 352:抛出字符串异常现在会触发 TypeError。尝试捕获字符串异常会引发 DeprecationWarningBaseException.message 已被弃用。
  • PEP 358:”bytes” 对象
  • PEP 366:主模块显式相对导入
  • PEP 370:每用户 site-packages 目录
  • PEP 3112:Python 3000 中的字节字面量
  • PEP 3127:整数字面量支持和语法
  • PEP 371:添加 multiprocessing 包

标准库中的新模块

  • json
  • 新的增强型 turtle 模块
  • ast

标准库中已弃用的模块和函数

  • buildtools
  • cfmfile
  • commands.getstatus()
  • macostools.touched()
  • md5
  • MimeWriter
  • mimify
  • popen2, os.popen[234]()
  • posixfile
  • sets
  • sha

从标准库中移除的模块

  • gopherlib
  • rgbimg
  • macfs

Py3k 中移除功能的警告

  • 内置函数:apply, callable, coerce, dict.has_key, execfile, reduce, reload
  • 反引号和 <>
  • xrange 的浮点参数
  • coerce 及其所有相关函数
  • 按默认比较进行比较
  • {}.has_key()
  • file.xreadlines
  • print() 函数的 softspace 移除
  • 由于 PEP 4/PEP 3100/PEP 3108 导致的模块移除

其他主要功能

  • with/as 将成为关键字
  • 添加了控制 dir() 的特殊方法 __dir__() [1]
  • AtheOS 支持已停止。
  • warnings 模块在 C 中实现
  • compile() 接受 AST 并可转换为字节码

2.6 可能的功能

新功能*应该*在 alpha2 之前实现,特别是任何 C 语言修改或行为变更。新功能*必须*在 beta1 之前实现,否则将需要发布经理批准。

以下 PEP 正在为纳入 2.6 而努力:无。

此处列出的每一个非平凡功能(非 PEP)都必须在 python-dev 上讨论。其他增强功能包括

  • distutils 替换(需要 PEP)

标准库中的新模块

PJE 退出 2.5 以纳入 2.6:https://mail.python.org/pipermail/python-dev/2006-April/064145.html

将获得 DeprecationWarning 的模块(针对 Python 2.6 指定或由于疏忽)

  • rfc822
  • mimetools
  • multifile
  • compiler 包(或者改为 Py3K 警告?)
  • Parser/*.c 转换为使用 C warnings 模块而不是 printf
  • 为 Py3k 中移除的功能添加警告
    • __getslice__/__setslice__/__delslice__
    • PyArgs_ParseTuple 的浮点参数
    • __cmp__?
    • 其他比较变更?
    • 整数除法?
    • 所有 PendingDeprecationWarnings (例如异常)
    • zip() 结果用作列表
    • exec 语句(使用函数语法)
    • func_* 开头的函数属性(应使用 __*__
    • 长整数文字的 L 后缀
    • __nonzero__ 重命名为 __bool__
    • 经典类的多重继承?(MRO 可能会改变)
    • 属性和经典类?(实例属性会遮盖属性)
  • 如果 __bool__ 方法可用且没有 __nonzero__,则使用 __bool__ 方法
  • 检查 Demo/Tools/ 中各种代码是否仍然有效,更新或删除无效的代码。
  • Modules/ 中的所有模块都应更新为 ssize_t 干净。
  • 所有 Python 代码(包括 Modules/)都应该能用 g++ 干净编译
  • 开始移除已弃用的功能,并普遍朝着 Py3k 发展
  • 将所有旧式测试(在导入时操作)替换为 unittestdoctest
  • 为所有未经测试的模块添加测试
  • 文档化未文档化的模块/功能
  • distutils 包中的 bdist_deb https://mail.python.org/pipermail/python-dev/2006-February/060926.html
  • distutils 包中的 bdist_egg
  • 纯 Python pgen 模块(所有者:Guido)推迟到 2.6:https://mail.python.org/pipermail/python-dev/2006-April/064528.html
  • 移除 fpectl 模块?

推迟到 2.7

开放问题

如何处理导入警告?

参考资料


来源:https://github.com/python/peps/blob/main/peps/pep-0361.rst

最后修改:2025-02-01 08:59:27 GMT