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 版本已完成的功能
2.6 版本已完成的功能
PEPs
- PEP 352: 现在,引发字符串异常会触发
TypeError
。尝试捕获字符串异常会引发DeprecationWarning
。BaseException.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)
标准库中的新模块
winerror
https://bugs.python.org/issue1505257(补丁被拒绝,模块应该用 C 编写)setuptools
BDFL 宣布包含在 2.5 中:https://mail.python.org/pipermail/python-dev/2006-April/063964.html
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 方向发展。
- 用
unittest
或docttest
替换所有旧式测试(对导入进行操作)。 - 为所有未经测试的模块添加测试。
- 记录未记录的模块/功能。
distutils
包中的bdist_deb
https://mail.python.org/pipermail/python-dev/2006-February/060926.htmlbdist_egg
在distutils
包中- 纯 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