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-06-29
Python 版本:
2.6, 3.0
发布历史:
2008-03-17

目录

摘要

本文档描述了 Python 2.6 和 3.0 版本的开发和发布计划。该计划主要关注 PEP 级别的项目。在第一个测试版发布之前,可能会添加一些小功能。在最终版发布之前可能会修复一些 bug。

至少会有两个 Alpha 版本,两个测试版和一个候选版本。计划在 2008 年 10 月发布这些版本。

Python 2.6 不仅仅是 Python 2 系列的下一个版本,它也是一个过渡版本,帮助开发者开始为 Python 3.0 准备他们的代码。因此,许多功能从 Python 3.0 反向移植到 2.6。因此,在同一时间发布这两个版本是有意义的。Python 1.6 和 2.0 版本的发布就为这种做法开了先河。

在候选版本发布之前,我们将同步发布 Python 2.6 和 3.0,每月发布一次。在测试版测试周期中,每个月的第一个星期三都会发布版本。由于 Python 2.6 准备就绪的时间更早,并且由于我们有一些想达成的外部截止日期,我们决定将候选版本发布分开。因此,目前计划在 Python 3.0 最终版发布两周前发布 Python 2.6 最终版。

版本经理和团队

  • 2.6/3.0 版本经理: Barry Warsaw
  • Windows 安装程序: Martin v. Loewis
  • Mac 安装程序: Ronald Oussoren
  • 文档: Georg Brandl
  • RPM: 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: “字节”对象
  • PEP 366: 主模块显式相对导入
  • PEP 370: 每个用户站点包目录
  • PEP 3112: Python 3000 中的字节字面量
  • PEP 3127: 整数字面量支持和语法
  • PEP 371: 添加多进程包

标准库中的新模块

  • 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 语言修改或行为更改。新功能必须在测试版 1 之前实现,否则需要版本经理批准。

以下 PEPs 正在开发中,以便包含在 2.6 中:无。

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

  • distutils 替换(需要一个 PEP)

标准库中的新模块

PJE 从 2.5 中撤回,包含在 2.6 中:https://mail.python.org/pipermail/python-dev/2006-April/064145.html

需要发出弃用警告的模块(如 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__
  • 检查 Demo/Tools/ 中的各种代码是否仍然有效,更新或删除那些无效的代码。
  • Modules/ 中的所有模块都应该更新为 ssize_t 清洁。
  • 所有 Python 代码(包括 Modules/)都应该能够用 g++ 编译成功。
  • 开始删除弃用的功能,并朝着 Py3k 方向发展。
  • unittestdocttest 替换所有旧式测试(对导入进行操作)。
  • 为所有未经测试的模块添加测试。
  • 记录未记录的模块/功能。
  • distutils 包中的 bdist_deb https://mail.python.org/pipermail/python-dev/2006-February/060926.html
  • bdist_eggdistutils 包中
  • 纯 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

上次修改:2023-09-09 17:39:29 GMT