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

Python 3.12.6

发布日期: 2024 年 9 月 6 日

这是 Python 3.12 的第六个维护版本

Python 3.12 是 Python 编程语言的最新主要版本,它包含许多新功能和优化。3.12.6 是最新的维护版本,自 3.12.5 以来,包含了大约 90 个错误修复、构建改进和文档更改。这是一个快速发布版本,旨在解决以下安全问题

  • gh-123678gh-116741: 将捆绑的 libexpat 升级到 2.6.3,以修复 CVE-2024-28757CVE-2024-45490CVE-2024-45491CVE-2024-45492
  • gh-123067: 修复 http.cookies 中解析带有反斜杠的 " 引号 cookie 值时的二次复杂度问题。修复了 CVE-2024-7592。
  • gh-121285: 从 tarfile 标头解析中删除 hdrcharset、PAX 和 GNU 稀疏标头的回溯。这是 CVE-2024-6232。
  • gh-102988: email.utils.getaddresses()email.utils.parseaddr() 现在在遇到无效电子邮件地址时,会在更多情况下返回 ('', '') 二元组,而不是返回可能不准确的值。向这两个函数添加可选的 strict 参数:使用 strict=False 获取旧的行为,接受格式错误的输入。可以使用 getattr(email.utils, 'supports_strict_parsing', False) 来检查 strict 参数是否可用。这改进了 CVE-2023-27043 的修复。
  • gh-123270: 在 zipfile.Path 中清理名称,以避免无限循环 (gh-122905),同时不破坏使用合法字符的内容。这是 CVE-2024-8088。

此外,正如在 3.12 的上一个版本中提到的,此版本放弃了对 macOS 10.9 至 10.12 版本的支持。自 2019 年以来,Apple 不再支持 macOS 10.13 之前的版本,维护对它们的支持变得过于困难。(所有版本的 Python 3.13 都已经放弃了对它们的支持。)

与 3.11 相比,3.12 系列的主要新功能

新功能

类型注解

弃用

  • 根据 PEP 623,删除了 Unicode 对象的 C 实现中已弃用的 wstrwstr_length 成员。
  • unittest 模块中,删除了许多长期弃用的方法和类。(它们自 Python 3.1 或 3.2 起就已弃用)。
  • 已弃用的 smtpddistutils 模块已被删除(请参阅 PEP 594PEP 632)。setuptools 包继续提供 distutils 模块。
  • 许多其他旧的、损坏的和已弃用的函数、类和方法已被删除。
  • 字符串中无效的反斜杠转义序列现在会发出 SyntaxWarning 而不是 DeprecationWarning,使其更加明显。(将来它们将成为语法错误。)
  • 整数的内部表示已更改,为性能增强做准备。(这不应影响大多数用户,因为它是一个内部细节,但可能会导致 Cython 生成的代码出现问题。)

有关 Python 3.12 更改的更多详细信息,请参阅 Python 3.12 的新功能

更多资源

完整变更日志

文件

版本 操作系统 描述 MD5 校验和 文件大小 GPG Sigstore SBOM
Gzipped 源代码 tarball 源代码发布 c2f1dd5c8807ee50b778684b7958ee28 25.8 MB SIG .sigstore SPDX
XZ 压缩的源代码 tarball 源代码发布 cb669514937d3e894e74081627722aa5 19.5 MB SIG .sigstore SPDX
macOS 64 位 universal2 安装程序 macOS 适用于 macOS 10.13 及更高版本 9fe25ae8e0dfea2854e6bce62e69a3dd 43.2 MB SIG .sigstore
Windows 安装程序 (64 位) Windows 推荐 d8548aa7609a762ba66f62eeb2ca862d 25.3 MB SIG .sigstore SPDX
Windows 安装程序 (32 位) Windows 9b4c59154c46444e082266d8bd3a6429 24.1 MB SIG .sigstore SPDX
Windows 安装程序 (ARM64) Windows 实验性 4ae3dfd4a32963ec6e6578890d97b19c 24.6 MB SIG .sigstore SPDX
Windows 可嵌入软件包 (64 位) Windows ae256f31ee4700eba679802233bff3e9 10.5 MB SIG .sigstore SPDX
Windows 可嵌入软件包 (32 位) Windows b6eecbdfd865e4a3ae8bed93b9f2cd95 9.4 MB SIG .sigstore SPDX
Windows 可嵌入软件包 (ARM64) Windows e6c889dd2ae2dacfbfd9cb5faeb7aefe 9.8 MB SIG .sigstore SPDX