注意: 虽然 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 安装程序中已升级到 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
Gzipped 源代码 tarball 源代码发布 cc8507b3799ed4d8baa7534cd8d5b35f 24.2 MB 签名
XZ 压缩源代码 tarball 源代码发布 2a3dba5fc75b695c45cf1806156e1a97 18.0 MB 签名
macOS 64 位 Intel 安装程序 macOS 适用于 macOS 10.9 及更高版本 2b974bfd787f941fb8f80b5b8084e569 28.5 MB 签名
macOS 64 位 universal2 安装程序 macOS 适用于 macOS 10.9 及更高版本,包括 Apple Silicon 上的 macOS 11 Big Sur(实验性) 9aa68872b9582c6c71151d5dd4f5ebca 35.9 MB 签名
Windows 安装程序(64 位) Windows 推荐 ebc65aaa142b1d6de450ce241c50e61c 27.0 MB 签名
Windows 安装程序(32 位) Windows b790fdaff648f757bf0f233e4d05c053 26.0 MB 签名
Windows 帮助文件 Windows aaacfe224768b5e4aa7583c12af68fb0 8.4 MB 签名
Windows 可嵌入包(64 位) Windows 5c34eb7e79cfe8a92bf56b5168a459f4 8.0 MB 签名
Windows 可嵌入包(32 位) Windows b4bd8ec0891891158000c6844222014d 7.2 MB 签名