Wednesday, July 6, 2011

Python 3.2.1 RC2 发布

原文链接:3.2.1 Release Candidate 2 Released

紧跟着六月的新版发布高峰期,Python 3.2.1 的第二个候选发行版已经发布了。自从 5 月 15 日第一个候选发行版发布以来,我们已经修正了 40 多个问题。我们期望大家在自己的项目里测试一下这个候选版,这也是 3.2.1 最终发布前的最后检查了。

修正了哪些问题?

I/O

问题 #1195 已经呆在那里若干年没人碰过了,不过在这个 RC 版里,我们在调用 fgets 前添加了一个简单的清除错误的动作,这就解决了在 input() 中 CTRL-D 会中断 sys.stdin.read() 的问题。另外我们针对问题 #12175readall 方法做了清理,让它在 read() 返回 None 的时候也返回 None,而在无法打开文件时抛出 ValueError

另外我们解决了 #11272 中 Windows 系统下 input() 尾随 \r 的问题,虽然这不是 RC2 新加的内容,这也是对 Windows 下是 input() 的重要修正。这个问题已经被报告很多次,而且影响了很多人(有没有人想起 distutils 的 upload 命令了呢?),所以我们希望 3.2.1 为你解决了这个问题。

Windows

3.2.0 为 Windows 带来一个新功能,也就是 os.symlink 的支持。随之而来的就是 #12084os.stat 检查 Windows 符号链接(symlink)时的问题。所以这次我们修正了多个 stat 函数的内部代码,以解决这个问题。

有一名用户发现 os.path.isdir 的速度很慢,尤其是检查 symlink 的速度比检查正常文件慢一倍,他而且发现和函数依赖 os.stat 有关。虽然 os.path.isdir 不可能是大家的性能瓶颈,但在解释器启动时会被调用很多次,所以在 #11583 里边我们改用了 GetFileAttributes,从而略微提升一下启动的速度。

subprocess 模块

过去如果给了 Popen 一个错误的参数会导致 AttributeError,这个问题是在 #12085 中提交的,而提交者也提供了解决方案。由于 3.2.0 中的一处更改,导致 Popen 无法正确处理空环境变量,具体也就是 env 这个参数。#12383 就是这个问题的报告,而且这个问题提交后就立即被修正了。

更多的更新!

你可以查看完整的 3.2.1 RC2 更新记录,你也可以现在就下载该版本的 Python!

一如既往,请将你发现的问题提交至 http://bugs.python.org 。有了大家的帮助,我们就可以保证新版的质量,谢谢大家。

No comments:

Post a Comment