uv: 用 Rust 编写的极其快速的 Python 包和项目管理器。

github 地址:https://github.com/astral-sh/uv
curl -LsSf https://astral.sh/uv/install.sh | sh
uv
是一个超快的 Python 包与虚拟环境管理器(Rust 实现)。用来安装/解析依赖、创建/管理虚拟环境、生成锁文件、一次性运行工具,并可管理 Python 版本;目标是替代/整合 pip
、pip-tools
、pipx
、virtualenv
(部分场景也可替代 pyenv
)。
能做什么
- 依赖安装与锁定: 从
pyproject.toml
或requirements*.txt
解析与安装,生成可复现的锁文件(如uv lock
,uv sync
)。 - 虚拟环境: 创建/激活隔离环境(
uv venv
),临时环境运行(uv run
)。 - 一次性运行工具(像 pipx):
uvx ruff
,uvx black
,uvx pytest
等无需全局安装。 - Python 版本管理(可选):
uv python install 3.12
,uv python pin
固定解释器。 - 高速与缓存: 并行下载与构建、全局缓存复用,冷启动也很快。
典型用法
# 新建并安装依赖
uv init
uv add fastapi
# 运行代码(自动用隔离环境)
uv run python app.py
# 一次性运行工具
uvx ruff check .
# 现有项目按锁文件安装
uv sync
何时优先选它
- 想要更快的安装与更稳定的可复现环境。
- 既要
pip
/pip-tools
的功能,又想要pipx
的一次性运行体验。 - 希望统一到
pyproject.toml
工作流并简化 CI。
何时不适合
- 需要管理大量原生 C/系统库并依赖
conda-forge
生态时,更适合用conda/mamba
。
版权声明:
作者:东明兄
链接:https://blog.crazyming.com/note/3258/
来源:CrazyMing
文章版权归作者所有,未经允许请勿转载。


共有 0 条评论