uv install是增量安装(不清理冗余),uv sync是严格对齐锁定文件(清理冗余)。
核心对比
| 维度 | uv install | uv sync |
|---|---|---|
| 目标 | 安装/更新指定包 | 环境与 uv.lock 完全一致 |
| 多余依赖 | 不清理 | 自动删除 |
| 灵活性 | 高(可指定包名) | 低(严格遵循锁定文件) |
| 类似于 | pip install | pip-sync |
uv install 用法
uv install requests # 安装单个包
uv install requests==2.31.0 # 指定版本
uv install --upgrade requests # 更新
uv install # 安装配置文件所有依赖适用场景:
- 添加新依赖
- 更新某个包
- 临时测试
uv sync 用法
uv sync # 同步当前环境
uv sync --lock-file ./a.lock # 指定锁定文件
uv sync --offline # 离线模式适用场景:
- 拉取项目后还原环境
- 部署环境
- 清理冗余依赖
选择建议
| 场景 | 命令 |
|---|---|
| 日常添加/更新依赖 | uv install |
| 还原/部署环境 | uv sync |
| 修改配置后同步并清理 | uv sync |
关键提醒:uv sync 会删除未在 uv.lock 中声明的包。