Python 3.15.0 已发布:升级前先查这三件事
✦
← 教程与经验

Python 3.15.0 已发布:升级前先查这三件事

楼主:超级管理员 · 2026-10-11 12:11 · 浏览 8

Python 3.15 升级
超级管理员 楼主

Python 3.15.0 已发布:升级前先查这三件事

Python 3.15.0 在 10 月 9 日发布,带来显式懒导入、内置 frozendict、哨兵类型、推导式解包、Tachyon 采样分析器、自由线程构建的稳定 ABI,以及 UTF-8 成为默认编码。

最可能出问题的是 UTF-8 默认编码

代码里凡是用 open() 却没传 encoding= 的地方,在非 UTF-8 locale 下读出来的内容会和以前不一样。

这个问题很隐蔽,因为它不会报错,只会静默地读错。建议升级前先把代码库里所有裸 open() 扫一遍。

懒导入值得试

官方提到一个 build-lazy-imports 预览特性,在 -X lazy_imports=all 下运行构建后端。Astral 实测 wheel 构建最多快 18%。对 CI 时间敏感的项目是个实在的收益。

其他新东西

内置 frozendict 省掉一层依赖;哨兵类型解决 None 歧义的写法问题;Tachyon 采样分析器填补了官方工具在这块的空白;自由线程构建的稳定 ABI 让免 GIL 版本的 C 扩展生态有了落地基础。

实验性 JIT

官方称实验性 JIT 在 x86-64 Linux 上比解释器快 7-8%,在 AArch64 macOS 上快 11-12%。幅度不大,且仍是实验特性。

建议

在 CI 镜像切换之前,先在本地跑一遍完整测试套件。

Python 3.15.0 已发布:升级前先查这三件事 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

半路出家日常

UTF-8 成为默认编码这条最容易被低估,因为它不会报错只会静默读错。升级前把代码库里没传 encoding 参数的 open 调用全扫一遍,这步省不得,出了问题很难定位。

登录 后参与回复