uv

UV 是一个快速的 Python 包管理器和项目管理工具,用 Rust 编写,旨在替代 pip、pip-tools、pipx、poetry、pyenv、virtualenv 等工具。

安装 UV

Linux/macOS

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

通过 pip 安装

pip install uv

基本使用

1. 创建新的 Python 项目和环境

创建新项目

# 创建新项目目录和初始化
uv init my-project
cd my-project

# 或者在现有目录中初始化
uv init

指定 Python 版本创建项目

2. 管理 Python 环境

创建虚拟环境

激活虚拟环境

停用虚拟环境

3. 包管理

安装包

移除包

更新包

4. 运行 Python 代码

使用 uv run 运行代码

运行一次性脚本

5. 管理 requirements.txt

生成 requirements.txt

从 requirements.txt 安装

手动编辑 pyproject.toml

UV 主要使用 pyproject.toml 文件管理依赖:

6. 锁定依赖

生成锁定文件

从锁定文件安装

7. Python 版本管理

列出可用的 Python 版本

安装特定 Python 版本

使用特定 Python 版本

8. 常用工作流程

开始新项目

克隆现有项目

9. 高级功能

使用工具

缓存管理

配置管理

10. 迁移指南

从 pip + requirements.txt 迁移

从 Poetry 迁移

11 设置超时时间

常见问题

Q: 如何在 CI/CD 中使用 UV?

Q: 如何处理私有包源?

Q: 如何查看已安装的包?

Q: 如何换源?

最佳实践

  1. 使用 uv run 而不是激活环境uv run 会自动处理环境激活

  2. 提交 uv.lock 文件:确保团队使用相同的依赖版本

  3. 使用 pyproject.toml:现代 Python 项目标准

  4. 定期更新依赖:使用 uv lock --upgrade

  5. 分离开发和生产依赖:使用 --dev 标志

参考链接

Last updated