Python 3.9.4
发布日期: 2021年4月4日
这是 Python 3.9 的第四个维护版本。
请注意: 您正在查看的是 Python 3.9.4,这是旧版 3.9 系列的一个错误修复版本。Python 3.11 现在是 Python 3 最新的功能版本系列。在此处获取 3.11.x 的最新版本。
Python 3.9.4 是一个紧急修复版本,解决了在 Python 3.9.3 中意外引入的 ABI 不兼容问题。强烈建议所有用户升级。 详情请见 bpo-43710。
重申一下,Python 3.9.3 本身就是一个因其安全内容而加速发布的版本。
- bpo-43631:OpenSSL 发布了高危漏洞 CVE-2021-3449 和 CVE-2021-3450,在 CI、macOS 和 Windows 安装程序中,OpenSSL 已升级至 1.1.1k 版本。
- bpo-42988:CVE-2021-3426:移除了 pydoc 模块的 getfile 功能,该功能可能被滥用来读取磁盘上的任意文件(目录遍历漏洞)。此外,即使是 Python 模块的源代码也可能包含密码等敏感数据。该漏洞由 David Schwörer 报告。
- bpo-43285:ftplib 默认不再信任服务器在响应 PASV 命令时返回的 IP 地址值。这可以防止恶意 FTP 服务器利用该响应来探测客户端网络上的 IPv4 地址和端口组合。如果代码需要之前易受攻击的行为,可以将 ftplib.FTP 实例的 trust_server_pasv_ipv4_address 属性设置为 True 以重新启用它。
- bpo-43439:为 gc.get_objects()、gc.get_referrers() 和 gc.get_referents() 添加了审计钩子。由 Pablo Galindo 提供补丁。
与 3.8 相比,3.9 系列的主要新功能
Python 3.9 中的一些主要新功能和变化是
- PEP 573,从 C 扩展方法访问模块状态
- PEP 584,
dict
中的联合运算符 - PEP 585,标准集合中的类型提示泛型
- PEP 593,灵活的函数和变量注解
- PEP 602,Python 采用稳定的年度发布节奏
- PEP 614,放宽对装饰器的语法限制
- PEP 615,标准库支持 IANA 时区数据库
- PEP 616,用于移除前缀和后缀的字符串方法
- PEP 617,CPython 的新 PEG 解析器
- BPO 38379,垃圾回收不再阻塞于复活的对象;
- BPO 38692,添加了 os.pidfd_open,允许无竞争和无信号的进程管理;
- BPO 39926,Unicode 支持更新到 13.0.0 版本;
- BPO 1635741,当 Python 在同一进程中被多次初始化时,不再发生内存泄漏;
- 许多 Python 内置类型(range、tuple、set、frozenset、list、dict)现在通过 PEP 590 vectorcall 加速;
- 许多 Python 模块(_abc、audioop、_bz2、_codecs、_contextvars、_crypt、_functools、_json、_locale、operator、resource、time、_weakref)现在使用 PEP 489 定义的多阶段初始化;
- 许多标准库模块(audioop、ast、grp、_hashlib、pwd、_posixsubprocess、random、select、struct、termios、zlib)现在使用 PEP 384 定义的稳定 ABI。
您可以在此版本的“新功能”文档中找到更全面的列表。
更多资源
- 在线文档
- PEP 596, 3.9 发布日程
- 请在 https://bugs.python.org 报告错误。
- 帮助资助 Python 及其社区.
文件
版本 | 操作系统 | 描述 | MD5 校验和 | 文件大小 | GPG |
---|---|---|---|---|---|
Gzip 压缩的源码包 | 源码发布版 | cc8507b3799ed4d8baa7534cd8d5b35f | 24.2 MB | SIG | |
XZ 压缩的源码包 | 源码发布版 | 2a3dba5fc75b695c45cf1806156e1a97 | 18.0 MB | SIG | |
macOS 64 位 Intel 安装程序 | macOS | 适用于 macOS 10.9 及更高版本 | 2b974bfd787f941fb8f80b5b8084e569 | 28.5 MB | SIG |
macOS 64 位 universal2 安装程序 | macOS | 适用于 macOS 10.9 及更高版本,包括在 Apple Silicon 上的 macOS 11 Big Sur(实验性支持) | 9aa68872b9582c6c71151d5dd4f5ebca | 35.9 MB | SIG |
Windows 安装程序 (64位) | Windows | 推荐 | ebc65aaa142b1d6de450ce241c50e61c | 27.0 MB | SIG |
Windows 安装程序 (32位) | Windows | b790fdaff648f757bf0f233e4d05c053 | 26.0 MB | SIG | |
Windows 帮助文件 | Windows | aaacfe224768b5e4aa7583c12af68fb0 | 8.4 MB | SIG | |
Windows 可嵌入包 (64位) | Windows | 5c34eb7e79cfe8a92bf56b5168a459f4 | 8.0 MB | SIG | |
Windows 可嵌入包 (32位) | Windows | b4bd8ec0891891158000c6844222014d | 7.2 MB | SIG |