从虚拟环境、锁文件、打包发布、Python 版本管理等角度对比常用工具。
| 工具 | 依赖解析/安装速度 | 虚拟环境 | 锁文件 | 打包发布 | Python 版本管理 | 社区支持 | 典型定位 | 使用复杂性 |
|---|---|---|---|---|---|---|---|---|
| Poetry | 中等 | 自动 | 是 | 是 | 否 | 强 | 应用依赖 + 发布 | 简单 |
| PDM | 快(可接 uv) | 半自动 | 是 | 需配合 | 是 | 中等 | PEP 友好、灵活 | 中等 |
| Hatch | 依赖 pip/uv | 环境管理强 | 插件/约定 | 是(强项) | 是 | 中等 | 打包/多环境 | 中等 |
| uv | 极快(Rust) | 自动 | 是(uv.lock) | 是(build/publish) | 是(可替 pyenv) | 快速增长 | 全能高速默认选项 | 简单 |
| pixi | 快(conda 图 + 二进制) | 项目环境 | 是 | 偏环境/应用 | 是 | 成长中 | conda 级可复现 + 跨语言 | 中等 |
| conda / mamba | mamba 快;conda 偏慢 | env 一等公民 | environment.yml / lock | 包渠道另论 | 是 | 强(科学计算) | 科学计算/二进制依赖 | 中~高 |
| pip + venv | 慢~中(无统一解析器体验) | 手动 | 无标准(可 pip-tools) | setuptools/build 自拼 | 否 | 最广 | 最小标准库路径 | 低但要自己拼 |
推荐
- 默认新项目 → uv。
- 科学计算 / 重二进制依赖 → pixi 或 conda/mamba。
- 成熟 Poetry 仓 → 可继续 Poetry,或迁 uv。
- 专注打包多环境 → Hatch;要标准灵活 → PDM。
- 教学 / 最小依赖 → pip + venv。