uv打包工具介绍

📅 2026/8/1 3:14:31 👁️ 阅读次数 📝 编程学习
uv打包工具介绍

uv是由Astral(Rust 编写的 Ruff 代码检查工具团队)开发的极速 Python 包与项目管理器,用 Rust 写成,旨在替代pippip-toolsvirtualenvpoetry等工具,统一管理 Python 项目中的依赖、虚拟环境和 Python 版本。


核心功能一览

功能对应传统工具说明
uv venvvirtualenv/python -m venv创建虚拟环境(速度极快)
uv pip installpip install安装依赖(兼容 pip 命令)
uv pip compilepip-compile生成精确的锁文件(requirements.txt
uv pip syncpip-sync将环境同步为锁文件状态
uv run手动激活环境 + 运行脚本自动检测/创建环境并执行命令
uv init/uv add/uv remove/uv lockpoetry/pipenv项目管理(pyproject.toml
uv python install/list/findpyenv管理 Python 解释器版本

为什么选择 uv?

  • 快到惊人

    • 用 Rust 实现,并行下载、解析和安装,安装速度常比 pip 快 10–100 倍(尤其依赖解析阶段)。

    • 全局缓存机制,重复依赖几乎瞬间完成。

  • 完全兼容 PyPI 和 pip 工作流
    支持requirements.txtpyproject.toml,可以直接替代 pip 命令(如uv pip install torch)。

  • 一体化项目管理
    uv init创建项目,uv add添加依赖,自动生成pyproject.tomluv.lock,锁定所有依赖版本。

  • 零配置 Python 管理
    可下载安装任意 CPython 版本(甚至 PyPy),项目可指定所需 Python 版本,uv run自动处理。

  • 跨平台,单文件分发
    无需 Python 或 Rust 预装,下载即用。


安装 uv

Linux / macOS:

bash

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows (PowerShell):

powershell

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

或使用 pip:

bash

pip install uv

安装后验证:

bash

uv --version

常用命令速查

1. 虚拟环境

bash

# 创建虚拟环境(默认 .venv 目录) uv venv # 指定 Python 版本创建 uv venv --python 3.12
2. 依赖安装(pip 风格)

bash

# 安装单个包 uv pip install requests # 从 requirements.txt 安装 uv pip install -r requirements.txt # 生成锁定文件 uv pip compile pyproject.toml -o requirements.txt # 根据锁定文件同步环境(移除多余包) uv pip sync requirements.txt
3. 项目管理(poetry 风格)

bash

# 初始化新项目 uv init my-project cd my-project # 添加依赖 uv add fastapi uvicorn # 添加开发依赖 uv add --dev pytest black # 移除依赖 uv remove requests # 锁定当前依赖 uv lock # 从锁文件同步安装 uv sync
4. 运行脚本(自动管理环境)

bash

# 在项目环境中直接运行脚本(无需手动激活 venv) uv run python main.py # 运行一次性命令 uv run --with flask python -c "import flask; print(flask.__version__)"
5. Python 版本管理

bash

# 列出可安装的 Python 版本 uv python list # 安装特定版本 uv python install 3.12 # 查看已安装版本 uv python list --only-installed

假设你要用本地 Ollama 开发一个 API 服务,用uv管理项目:

bash

# 创建项目 uv init ollama-api cd ollama-api # 添加依赖 uv add openai

此后任何人克隆项目后只需uv sync即可复现完全相同的环境。


uv vs 传统工具对比

特性uvpip + venvPoetrypip-tools
速度⚡️ 极快🐢 慢🐇 快🐇 较快
锁文件✅ uv.lock✅ poetry.lock✅ requirements.txt
虚拟环境自动管理
项目管理
Python 版本管理
与 pip 命令兼容

💡 总结

uvpip的速度问题、venv的繁琐激活、pyenv的版本管理、poetry的项目管理集于一身,是当前 Python 生态里最令人兴奋的工具之一。无论你是个人开发还是团队协作,都可以用uv获得丝滑、极速的依赖管理体验。