张芷铭的个人博客

uv install 是增量安装(不清理冗余),uv sync 是严格对齐锁定文件(清理冗余)。

核心对比

维度uv installuv sync
目标安装/更新指定包环境与 uv.lock 完全一致
多余依赖不清理自动删除
灵活性高(可指定包名)低(严格遵循锁定文件)
类似于pip installpip-sync

uv install 用法

1
2
3
4
uv install requests          # 安装单个包
uv install requests==2.31.0  # 指定版本
uv install --upgrade requests # 更新
uv install                   # 安装配置文件所有依赖

适用场景

  • 添加新依赖
  • 更新某个包
  • 临时测试

uv sync 用法

1
2
3
uv sync                      # 同步当前环境
uv sync --lock-file ./a.lock # 指定锁定文件
uv sync --offline            # 离线模式

适用场景

  • 拉取项目后还原环境
  • 部署环境
  • 清理冗余依赖

选择建议

场景命令
日常添加/更新依赖uv install
还原/部署环境uv sync
修改配置后同步并清理uv sync

关键提醒uv sync 会删除未在 uv.lock 中声明的包。

Comments