pyproject.toml uv.lock

二、pyproject.toml 做什么

它只表达 约束和意图,例如:

[project]
dependencies = [
  "fastapi>=0.100,<1.0",
  "pydantic>=2.5",
  "torch"
]

含义是:

  • 我允许的版本范围
  • 不关心“具体装哪一个补丁版本”
  • 不保证你和我装的一样

👉 不可复现环境


三、uv.lock 做什么

当你运行:

uv pip install
# 或
uv sync

uv 会:

  1. 解析 pyproject.toml
  2. 解依赖图
  3. 选择 唯一可行的具体版本
  4. 生成 uv.lock

正常流程(推荐)

1️⃣ 手改 pyproject.toml
2️⃣ uv add / uv remove
3️⃣ uv 自动更新 uv.lock
4️⃣ 提交两者

七、uv.lock 和 poetry.lock / requirements.txt 的关系

文件 作用
requirements.txt 线性依赖列表(弱)
poetry.lock Poetry 的 lock
uv.lock uv 的 lock(更快、更现代)
posted @ 2026-02-07 15:24  向着朝阳  阅读(8)  评论(0)    收藏  举报