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 条评论