Python包管理工具横评:uv vs poetry vs pdm,谁才是2026年的王者?
用 pip 安装包的人,和用 uv 的人,有什么区别?
第一次装包:pip install requests第二次:pip install flask pandas numpy matplotlib...一年后,我的电脑里有 17 个 Python 环境,我不知道哪个项目用哪个
pip 的历史包袱:为啥它越来越不够用了?
poetry vs pdm vs uv:三足鼎立,谁强谁弱?
实战对比:同一个项目,三种工具都试试
2026 年了,你该用哪个?
一、pip 的历史包袱:为啥它越来越不够用了?
1.1 pip 的优点
1.2 pip 的缺点
1.3 pip 的「技术债」
pip 是 2008 年设计的,那时候 Python 还没那么火。它解决的是「安装包」的问题,没解决「管理项目」的问题。
二、三足鼎立:poetry vs pdm vs uv
2.1 Poetry:最早的标准解决方案
Poetry由 Sébastien Eustace 在 2018 年创建,是第一个真正「现代化」的 Python 包管理工具。核心理念:一个工具搞定一切(依赖 + 项目 + 发布)
初始化项目
添加依赖
poetry add requests flask锁定版本
构建发布
2.2 PDM:Python -first 的设计
PDM由 Pdm 团队在 2021 年创建,定位是「更 Pythonic 的工具」。核心理念:用 Python 的方式管理 Python 项目
初始化项目
添加依赖(自动锁定)
运行脚本
2.3 uv:2024年的「性能怪兽」
uv由 Astral 公司(也是 Ruff 的作者)在 2024 年发布,一出场就震惊了世界。核心理念:用 Rust 写速度,用 Python 写兼容
安装 100 个包
time pip install -r requirements.txt约 60 秒
约 45 秒
time uv pip install -r requirements.txt约 0.5 秒
2.4 独到见解:三者的「心智模型」
选工具的本质是选「心智模型」,不是选「功能最多」。
三、实战对比:同一个项目,三种工具都试试
3.1 项目需求
uvicorn[standard] >= 0.23.0
3.2 用 pip 管理(传统方案)
Linux/Mac
venv\Scripts\activate # Windows
pip install fastapi uvicorn[standard] pydantic sqlalchemy httpx pytestpip freeze > requirements.txt
3.3 用 Poetry 管理
生产依赖
poetry add fastapi uvicorn pydantic sqlalchemy httpx开发依赖
poetry add pytest --group devpoetry run python main.py
3.4 用 PDM 管理
pdm add fastapi uvicorn pydantic sqlalchemy httpx
3.5 用 uv 管理
生产依赖
uv add fastapi uvicorn pydantic sqlalchemy httpx开发依赖
uv add pytest --group dev还能管理 Python 版本:uv python list兼容 pip:uv pip install requests
3.6 独到见解:速度实测
四、选工具的本质:选「心智模型」
4.1 为啥要选?
4.2 工具不是目的
工具是为了解决问题,不是为了「追新」。
如果你团队全用 poetry,别为了「追 uv」而迁移
4.3 我的选择
五、2026年了,你该用哪个?
5.1 选 uv 的场景
5.2 选 poetry 的场景
5.3 选 pdm 的场景
5.4 选 pip 的场景
六、总结:没有银弹,只有合适
6.1 一图总结
6.2 我的预测
6.3 最终建议
| |
|---|
| 个人开发,追求效率 | uv |
| 团队开发,需要文档 | poetry |
| 喜欢 Pythonic 风格 | PDM |
| 维护老项目 | pip |
| 发布开源包 | poetry |