# uv
python 包管理 An extremely fast Python package and project manager, written in Rust. https://docs.astral.sh/uv/
# uv 安装
curl -LsSf https://astral.sh/uv/install.sh | sh
1
# uv 常用指令
# 创建新项目
uv init my-project
# cd my-project
# 安装依赖
uv add requests
# 查看已安装依赖
uv list
# 卸载依赖
uv remove requests
# 锁定依赖
uv lock
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# mise + pdm + uv 集成
| 工具 | 最佳作用 | 为什么需要它 |
|---|---|---|
| mise | 统一管理 Python 版本、全局工具(如 uv、pdm) | 对团队最友好,不同项目切换环境秒级,避免 pyenv 慢、conda 重 |
| PDM | 项目级依赖管理、锁定、构建、虚拟环境 | 现代 PEP 582 支持、pyproject 管理比 poetry 更灵活 |
| uv | 极致加速:安装依赖、同步锁定、运行 | 比 pip/pip-tools 快一个数量级;与 pdm 完全兼容 |
# 安装 mise
curl https://mise.run | sh
#在 mise 中声明 Python & 工具
# 在 $HOME/.config/mise/config.toml
[tools]
python = "3.12"
pdm = "latest"
uv = "latest"
# 运行 安装组件
mise install
# 使用指定版本
mise use -g python@3.12 uv@latest pdm@latest
# 验证
mise ls
# 初始化项目
pdm init
# 查看配置
pdm config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 项目级配置
# .mise.toml
[tools]
python = "3.12"
pdm = "latest"
uv = "latest"
#使用uv替代 pdm install 加速
# 全局配置
vim $home/.config/pdm/config.toml
use_uv = true
# 安装所有依赖
pdm install
# 安装依赖
pdm add requests
# 安装开发依赖
pdm add -d pytest black ruff
#导出 requirements(用于 docker 构建)
pdm export -f requirements --without-hashes -o requirements.txt
# 同步锁定文件
pdm sync
# 配置镜像源&超时时间 再执行 pdm install
export UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
# 增加超时时间(NVIDIA CUDA 包很大,需要更长时间)
export UV_HTTP_TIMEOUT=300
# 查看安装依赖列表
pdm list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# 工作流
| 场景 | 推荐命令 |
|---|---|
| 初始化项目 | pdm init |
| 添加依赖 | pdm add xxxx |
| 安装所有依赖 | pdm install |
| 运行脚本 | uv run python script.py |
| 测试 | uv run pytest |
| 清理虚拟环境 | pdm venv remove |
| 切换 Python 版本 | mise use python@3.12 |
| 锁定 | pdm lock |
# Reference
← poetry