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

Python 3.9.3

发布日期: 2021 年 4 月 2 日

这是 Python 3.9 的第三个维护版本

注意: 您正在查看的版本已被召回,原因是与 Python 3.9.0 - 3.9.2 中构建的 C 扩展的 ABI 兼容性意外中断。 详细信息请参阅 bpo-43710请使用 Python 3.9.4 或更新的版本代替

Python 3.9.3 是一个快速发布版本,其中包含许多安全修复程序,建议所有用户使用

  • bpo-43631:针对 OpenSSL 发布了高危漏洞 CVE-2021-3449 和 CVE-2021-3450,CI 中已将其升级到 1.1.1k,并且 macOS 和 Windows 安装程序也已升级。
  • 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。

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

更多资源

文件在哪里?

您正在查看的版本已被召回,原因是与 Python 3.9.0 - 3.9.2 中构建的 C 扩展的 ABI 兼容性意外中断。 详细信息请参阅 bpo-43710请使用 Python 3.9.4 或更新的版本代替

如果您确实需要此版本中的文件用于某些特定目的,可以从 /ftp/python/ 下载它们。

完整变更日志

文件

版本 操作系统 描述 MD5 校验和 文件大小