Simon Willison's Weblog

If in doubt, delete the uv.lock file

8.5内容质量

TL;DR · AI 摘要

删除uv.lock文件可解决Python 3.15依赖冲突问题,尤其当依赖版本不支持新Python版本时。

核心要点

  • Python 3.15用户遇到依赖错误时,删除uv.lock文件可解决版本不兼容问题
  • uv.lock文件可能锁定不支持Python 3.15的依赖版本,如watchfiles 1.1.1
  • 库项目通常不包含uv.lock文件,避免强制依赖版本锁定

结构提纲

按章节快速跳转。

  1. 介绍Python 3.15依赖问题及解决方法

  2. ·uv.lock文件的作用

    解释其锁定依赖版本的功能

  3. 具体错误示例及原因分析

  4. 删除uv.lock文件的操作步骤

  5. 库项目避免使用uv.lock文件的建议

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Python 3.15依赖管理
    • uv.lock文件问题
      • 版本锁定冲突
    • 解决方案
      • 删除uv.lock文件
    • 实用建议
      • 库项目避免使用uv.lock

金句 / Highlights

值得收藏与分享的关键句。

#Python#依赖管理
打开原文

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

Simon Willison 的博客

Newsletter

#smallhead

由以下公司赞助:

Greptile —— 你的代码审查工具使用 Computer Use 通过打开你的应用并点击浏览来发现错误。现在你可以配置它的测试环境并定义它测试的关键用户流程。

免费试用

2026年11月1日

自从切换到 Python 3.15 以来,我偶尔会遇到一些令人困惑的 Python 依赖错误,我必须记住的规则是:

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

我大多数项目都是库,这些库通常不包含 uv.lock 文件,因为对于库依赖来说,为其他使用它的项目锁定版本是不礼貌的。

运行 uv run pytest 等命令往往会留下 uv.lock 文件,这些文件在 .gitignore 中列出,因此不会被提交到我的代码仓库中。

但...有时候 uv.lock 会固定某个依赖的版本,而该版本尚不支持 Python 3.15 的 wheel 文件。今天早些时候的一个例子:

code
error: 无法构建 `watchfiles==1.1.1`
  原因: 调用 `maturin.build_wheel` 失败

error: 配置的 Python 解释器版本 (3.15) 比 PyO3 支持的最高版本 (3.14) 更新

删除该文件并重新运行 uv run pytest 通常可以解决问题。

发布于 晚上11:24

最新文章

  • 10月 vibe 游戏开发的转折点 - 2026年10月28日
  • 战斗无人机 - 一个使用 vibe 编码的 RTS 游戏,支持基于音频的多人游戏 - 2026年10月20日
  • 你好 Python 3.15,再见 3.10,现在我可以使用 3.11 了 - 2026年10月12日
  • 我的博客新增了一个使用我的声音制作的功能 - 2026年10月9日

#primary

这是 Simon Willison 于 2026年11月1日 发表的一篇笔记。

python

1,293

til

27

uv

103

月度简报

每月赞助我10美元,即可获得本月最重要的LLM发展的精选电子邮件摘要。

支付我以减少发送频率!

赞助并订阅

.metabox

#secondary

#wrapper

  • 披露信息
  • 附录
  • ©
  • 2002
  • 2003
  • 2004
  • 2005
  • 2006
  • 2007
  • 2008
  • 2009
  • 2010
  • 2011
  • 2012
  • 2013
  • 2014
  • 2015
  • 2016
  • 2017
  • 2018
  • 2019
  • 2020
  • 2021
  • 2022
  • 2023
  • 2024
  • 2025
  • 2026