注意: 虽然 JavaScript 对于本网站不是必需的,但您与内容的互动将受到限制。请开启 JavaScript 以获得完整的体验。

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 584dict 中的联合运算符
  • 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。

您可以在此版本的“新功能”文档中找到更全面的列表。

更多资源

完整更新日志

文件

版本 操作系统 描述 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