Astral 的 uv 发布 0.13.0,几个变化会直接影响现有流水线的行为,值得在升级前先看一遍。
默认下载 Python 3.15
uv 现在默认下载 Python 3.15。如果项目声明了 requires-python 这通常不影响解析结果,但本地默认解释器版本变了,新建虚拟环境时的行为会跟着变。
优先选择 Windows ARM64 上的原生解释器
在 Windows ARM64 上会优先选择原生 ARM64 解释器而非模拟运行的版本。对使用 Copilot+ PC 的开发者是性能利好,但如果你的某些依赖只有 x64 的预编译 wheel,会回退到源码编译,构建时间可能明显变长。
缓存格式变更
这条最容易踩:升级后依赖可能需要重新下载或重新构建,首次运行的耗时和流量会明显上升。CI 里如果有缓存复用假设,最好在升级窗口预留一次冷启动。
约束文件的语义变严
现在会遵循 -c 引入的约束文件里的 --require-hashes,并且拒绝其中的 editable 依赖。此前能通过的安装现在可能失败。
如果你的 CI 用 -c constraints.txt 做供应链管控,升级后要检查一次:constraints 文件里是否混入了 -e 类型的依赖、哈希是否完整。这类失败通常发生在最不方便的时候——比如发布当天。
一个附带的好消息
Astral 在 Python 3.15 的文章里提到 build-lazy-imports 预览:在 -X lazy_imports=all 下运行构建后端,实测 wheel 构建速度最高提升 18%。对维护大量 Python 包的项目来说,这是可以马上试的优化。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。