Python 3.15.0 首个候选版本发布!

Python 3.15.0 首个候选版本发布!

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

Python 3.15.0首个候选版本发布,进入最终阶段,仅允许修复bug。该版本引入多项新特性,如惰性导入、frozendict和sentinel内置类型、性能分析包、默认UTF-8编码等,JIT编译器性能提升8-13%。官方呼吁第三方项目准备兼容并发布wheel包,但此版本不建议用于生产环境。

🔎

延伸解读

候选版本阶段的意义

进入候选版本阶段意味着Python 3.15的功能已冻结,此后只允许修复bug,不再添加新特性。从该版本开始,ABI(应用二进制接口)将保持稳定,这意味着基于此版本构建的二进制扩展在未来的3.15版本中仍能正常工作。对于第三方库维护者,这是测试和发布兼容wheel包的关键窗口期。

性能提升与JIT编译器

Python 3.15的JIT编译器经过显著升级,在x86-64 Linux上相比标准解释器有8-9%的几何平均性能提升,在AArch64 macOS上相比尾调用解释器有12-13%的提升。此外,官方Windows 64位二进制已改用尾调用解释器,macOS二进制默认安装自由线程支持。这些改进可能对计算密集型应用带来实际性能收益。

新特性概览与兼容性

3.15系列引入了多项新特性,包括惰性导入(PEP 810)、frozendict和sentinel内置类型(PEP 814、661)、专用性能分析包(PEP 799)、默认UTF-8编码(PEP 686)等。这些变化可能影响现有代码的兼容性,例如默认编码改变可能影响文件读写行为,建议开发者关注官方文档中的迁移指南。

生产环境使用警告

官方明确表示,此候选版本不建议用于生产环境。尽管它已接近最终版本,但仍可能存在未发现的bug。对于生产系统,应等待最终版本发布,并确保依赖的第三方库已提供兼容的wheel包。同时,鼓励用户向官方bug追踪器报告任何问题,以帮助改进最终版本。

Q&A

Python 3.15.0 首个候选版本什么时候发布的?

Python 3.15.0 的首个候选版本(3.15.0rc1)于 2026 年 8 月 4 日发布。

Python 3.15 引入了哪些重要的新特性?

Python 3.15 引入了多个新特性,包括:惰性导入(PEP 810)、frozendict 内置类型(PEP 814)、sentinel 内置类型(PEP 661)、专门的性能分析包(PEP 799)、默认 UTF-8 编码(PEP 686)、帧指针默认启用(PEP 831)等。

Python 3.15 的 JIT 编译器性能提升了多少?

JIT 编译器在 x86-64 Linux 上相比标准解释器有 8-9% 的几何平均性能提升,在 AArch64 macOS 上相比尾调用解释器有 12-13% 的加速。

Python 3.15 中默认编码改为 UTF-8 有什么影响?

根据 PEP 686,Python 3.15 将 UTF-8 作为默认编码,这有助于统一编码处理,减少因编码不一致导致的错误,但可能对依赖默认编码(如 ASCII)的旧代码产生影响。

第三方项目维护者应该为 Python 3.15 做哪些准备?

官方呼吁第三方项目维护者在候选版本阶段准备兼容性,并发布针对 Python 3.15 的 wheel 包到 PyPI,以便在最终版本发布时做好准备。

Python 3.15.0rc1 可以用于生产环境吗?

不建议。官方明确表示这是一个预览版本,虽然接近最终版本,但不推荐用于生产环境。

Python 3.15 的候选版本阶段有哪些限制?

进入候选版本阶段后,只允许进行明确的 bug 修复,不再添加新功能,并且从该版本起 ABI 不再变化。

🏷️

标签

➡️

继续阅读