Python 环境管理工具选谁:uv / conda / poetry / pixi 对比

Python 世界的环境管理工具太多——pip、virtualenv、pipenv、poetry、conda、mamba、rye、uv、pixi、hatch……哪个最适合现在(2026 年)用?简单结论:大多数项目 uv,AI/CUDA 项目考虑 pixi 或 conda

对比表

工具环境管理包管理速度主要适用现状
uv🚀 最快大多数 Python 项目活跃、事实标准
pixi🚀 很快AI/CUDA/科学计算新兴,快速崛起
condaAI、科学计算稳定但笨重
mambaconda 生态替代活跃
poetry库/应用打包成熟,用户多
pipenv老项目维护缓慢
rye曾是首选已合并入 uv
hatch多环境测试小众
pip + venv兜底官方最基础方案

uv:默认选它

uv 是 Astral(写 Ruff 的那家)用 Rust 实现的一体化工具,把这些的能力都整合了:

  • pyenv(Python 版本管理)
  • virtualenv(虚拟环境)
  • pip(包管理)
  • pip-tools(依赖锁定)
  • pipx(全局工具)

日常操作:

uv init                    # 初始化项目
uv python install 3.11     # 装 Python 3.11
uv add requests            # 加依赖
uv add --dev pytest        # 开发依赖
uv sync                    # 同步依赖到 .venv
uv run main.py             # 用项目环境跑
uv tool install ruff       # 全局装工具(类似 pipx)

速度上,pip 装 20 个包要 30 秒,uv 通常 2-3 秒。CI 尤其明显。

什么时候不用 uv

CUDA 依赖复杂 + 遇到 wheel 找不到

比如:

  • Windows 上装 triton — 直接没轮子(见 uv 依赖冲突
  • OpenCV 特殊构建(Contrib、GPU)
  • CUDA 版本要精确匹配 PyTorch
  • Intel MKL / Nvidia cuDNN 直接依赖

这些场景conda / pixi 生态里有预编译好的二进制,uv 从 PyPI 拿不到就得自己编译(往往编不过)。

Pixi:AI 项目的新选择

Pixi 由 conda 生态团队做的下一代工具——Rust 实现,速度接近 uv,能力接近 conda:

pixi init
pixi add python=3.11 pytorch=2.4
pixi add opencv                     # 自动解决 cuda / mkl
pixi run python main.py

优势:

  • 兼容 conda-forge 生态(大量预编译二进制)
  • 自动解 CUDA / MKL / OpenCV 类非 Python 依赖
  • 支持多语言(Python、Rust、C++、Julia)
  • 速度快,比 conda 快得多

已经有相当多 AI 开发者从 conda 迁移到 pixi。

Conda / Mamba:老牌 AI 首选

conda 的最大优势是 conda-forge 里几十万个预编译二进制包——包括 CUDA、cuDNN、MKL、OpenCV、FFmpeg 等 Python 生态之外的东西。

问题:

  • 解依赖巨慢(几分钟起步)
  • 环境臃肿(一个 base 就几个 G)
  • 私有仓库通常不支持

Mamba 是 conda 的兼容替代,速度快 10 倍,用法一样:

mamba install pytorch cudatoolkit=11.8
mamba env create -f environment.yml

新项目直接上 pixi,比 conda + mamba 都简单。

Poetry:库开发

写 Python 库、要发 PyPI,poetry 还是很好的选择:

poetry init
poetry add requests
poetry publish

优势:

  • 强项在依赖锁定 + 发布 wheel
  • pyproject.toml 规范
  • 依赖冲突处理清晰

uv 现在也能做发布(uv build + uv publish),但生态积累不如 poetry。

Rye 呢

Rye 之前是 Astral 主推的项目,2024 年宣布功能合并到 uv,Rye 只维护不新增。已经用 Rye 的可以直接迁到 uv,语法几乎一样。

场景推荐

场景首选备选
Web / 脚本 / 日常开发uvpoetry
库开发 + 发 PyPIuvpoetry
YOLO / PyTorch / LLM 训练uv(先试)pixi / mamba
科学计算 + CUDA + MKLpiximamba
老项目改造保持原有工具逐步迁 uv
CI 加速uv

uv 装全局工具

uv 不太强调”全局环境”,但支持全局工具(类似 pipx):

uv tool install ruff
uv tool install pre-commit
uv tool install pyinstaller

uv tool list
uv tool upgrade ruff
uv tool uninstall ruff

装完直接命令行可用。想真的用一个全局 Python 解释器写脚本,可以:

uv python install 3.11
uv run --python 3.11 script.py

一句话总结

默认 uv,CUDA 复杂就上 pixi。conda/mamba 老 AI 项目继续维护,poetry 专注库发布。Rye 已经并入 uv,不用再学。