Python 3.15 稳定版已经发布。这一版最容易被忽略、但影响面最广的变化是:默认使用 UTF-8 编码(对应 PEP 686 的落地)。
改了什么
以前在 Windows 上,open("a.txt") 的默认编码是本地区域编码(比如 GBK),Linux/macOS 上则是 UTF-8。平台不一致导致的中文乱码、脚本「在我电脑上跑得好好的」问题,折磨了很多人。
从 3.15 开始,默认编码统一为 UTF-8,前提是没有显式指定 encoding。
升级要检查什么
- 显式写 encoding:所有读写文件的代码,建议都加上
encoding="utf-8",这是最稳的做法 - 旧数据文件:用 GBK 保存的老文件,升级后直接读会报错,需要手动指定编码
- 环境变量:可用
PYTHONUTF8=0临时关闭,但不建议长期依赖 - 依赖库:部分老库内部写死了编码假设,升级前先在测试环境跑一遍
顺带一提
这类「默认值变更」是 Python 近年一贯的路线:牺牲一点兼容性,换长期的统一性。对老项目来说,最省事的方案是锁版本(用 venv 或容器固定小版本),新项目则直接按新默认写。
生产环境的建议:不要在生产机上演升级,先在隔离环境验证一周再切。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END















![囧次元[樱花动漫]去广告纯净版 - 浩宇工作室](https://umwx.oss-cn-shenzhen.aliyuncs.com/wp-content/uploads/2023/01/7ef194ec378b-1024x768.jpg)

![[电脑软件]抖音采集/下载工具TikTokDownloader 5.3 - 浩宇工作室](https://umwx.oss-cn-shenzhen.aliyuncs.com/wp-content/uploads/2024/05/20240510151922787-234818cqqjoo83p5s2us3e-1024x516.png)







暂无评论内容