uv 0.13.0 发布,几个变化值得提前知道。
默认下载 Python 3.15
新装的解释器版本变成 3.15。Windows ARM64 上优先选原生 ARM64 解释器。如果项目还没适配 3.15,要在配置里显式钉版本。
缓存格式变了
升级后依赖可能被重新下载或重建。CI 上尤其明显——第一次跑会慢,缓存命中率掉下来。建议给 CI 的缓存键加上 uv 版本号,避免新旧缓存互相污染。
约束文件更严格
现在 -c 引入的约束文件会遵守 --require-hashes,并且拒绝其中的 editable 依赖。以前能通过的安装现在可能失败。检查一下你的 constraints.txt。
Astral 那边的配套
Python 3.15 的博文里提到了 build-lazy-imports 预览,在 -X lazy_imports=all 下跑构建后端,实测 wheel 构建最多快 18%。
升级步骤建议
第一,先在本地跑一遍 uv sync,看有没有依赖解析失败的。第二,CI 缓存键加版本号。第三,确认解释器版本钉法正确(.python-version 或 pyproject 的 requires-python)。第四,观察第一次构建耗时,给 CI 超时时间留出余量。
为什么关注包管理器
这类工具位于所有 Python 工作流的入口。它的一次行为变更会同时影响本地开发、CI 和制品构建。相比框架升级,包管理器升级的排查成本更高,因为症状通常表现为“莫名其妙变慢”或“突然装不上”。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。