uv打包工具介绍

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


核心功能一览

功能 对应传统工具 说明
uv venv virtualenv / python -m venv 创建虚拟环境(速度极快)
uv pip install pip install 安装依赖(兼容 pip 命令)
uv pip compile pip-compile 生成精确的锁文件(requirements.txt
uv pip sync pip-sync 将环境同步为锁文件状态
uv run 手动激活环境 + 运行脚本 自动检测/创建环境并执行命令
uv init / uv add / uv remove / uv lock poetry / pipenv 项目管理(pyproject.toml
uv python install/list/find pyenv 管理 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 传统工具对比

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

💡 总结

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

相关推荐
ch_atu2 天前
虚拟环境-uv的使用
python·uv
Luminbox紫创测控2 天前
可调UV宽光谱高功率的LED太阳能模拟器
人工智能·测试工具·汽车·安全性测试·uv·测试标准
joopthd2 天前
打破进口垄断:TDLAS/UV-DOAS/FTIR 全光谱检测国产器件全产业链布局(江苏旭海光电技术梳理)
运维·人工智能·uv·激光气体检测
IT界的老黄牛4 天前
uv 常用命令速查:一个工具干掉 pip + venv + pyenv + pipx + poetry,Python 工具链从此清爽
python·pip·uv·虚拟环境·包管理·命令速查
xier_ran5 天前
uv 与 conda 详解:Python 环境管理的两条路线
python·conda·uv
接针5 天前
UV 常用命令
python·uv
lxw18449125147 天前
Python uv 完整使用教程
python·conda·pip·uv
MC皮蛋侠客9 天前
uv 系列(二):创建现代 Python 项目——pyproject.toml与项目结构
python·uv
MC皮蛋侠客9 天前
uv 系列(三):依赖、锁文件与环境同步——可重复构建的核心
python·uv