如有疑问,请删除 uv.lock 文件

Simon Willison's Blog 工具

摘要

Simon Willison 分享了一个适用于使用 uv 的 Python 项目的故障排查技巧:当出现令人困惑的依赖构建错误时(例如,固定版本的依赖缺少适用于 Python 3.15 的 wheel 包),只需删除 uv.lock 文件,然后重新运行命令即可。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/11/02 03:24

# 如有疑问,删除 uv.lock 文件 来源:https://simonwillison.net/2026/Nov/1/delete-uv-lock-first/ 2026年11月1日 自从切换到 Python 3\.15 以来,我偶尔会遇到令人困惑的 Python 依赖错误,因此我得记住这条规则: **如有疑问,删除 uv\.lock 文件** 我的大多数项目都是库,不包含`uv\.lock`文件,因为作为依赖项的库若替使用它的其他项目锁定版本,是不礼貌的做法。 运行`uv run pytest`等命令往往会留下`uv\.lock`文件,这些文件列在`\.gitignore`中,因此不会被提交到我的代码仓库。 但是……有时这个`uv\.lock`会将某个依赖锁定在尚未提供 Python 3\.15 wheel 的版本上。今天早些时候就有一个例子: `` 错误:无法构建 `watchfiles==1.1.1` 原因:调用 `maturin.build_wheel` 失败 错误:配置的 Python 解释器版本(3.15)高于 PyO3 支持的最高版本(3.14) `` 删除该文件并再次运行`uv run pytest`通常就能解决问题。

相似文章

uv 0.12.0

Simon Willison's Blog

uv 0.12.0 对 `uv init` 引入了破坏性变更,默认采用 `src/` 为基础的项目结构,配置 uv_build 后端,并设置脚本别名。该更新鼓励使用现代 Python 项目结构。

恳请不要使用 uv-build

Lobsters Hottest

Gentoo 开发者 Michał Górny 呼吁 Python 包维护者不要将 uv-build 作为构建后端,他指出其庞大的 Rust 二进制依赖为下游打包者带来了可移植性和构建时间上的负担,而相比 flit-core 等轻量级纯 Python 构建后端并无实质优势。