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 获得丝滑、极速的依赖管理体验。

相关推荐
zoujiahui_20181 天前
Python 包与环境管理工具 uv
开发语言·python·uv
eagle_Annie1 天前
Python/torch/深度学习——Miniforge+uv环境安装
python·深度学习·uv
天天进步20152 天前
Pixelle-Video 源码解析 #4:快速启动流程:uv、Streamlit、ffmpeg 分别负责什么?
ffmpeg·uv
源码学社7 天前
DeerFlow Windows 本地运行教程(uv)
windows·uv·沙箱·deerflow·超级智能体·deerflow安装
闲猫9 天前
Python依赖管理:uv与pip混用避坑( pyproject.toml/uv.lock/requirements.txt )
uv
Luminbox紫创测控10 天前
太阳模拟器如何模拟真实太阳?积分球与氙灯光源技术解析
人工智能·测试工具·安全性测试·uv·测试标准
如何原谅奋力过但无声11 天前
现代化Python工具:uv、Ruff、Pyright、Rich(只讲重点版)
vscode·python·uv
10mAh12 天前
Python 环境彻底不乱:uv、pip、venv、Conda 怎么选?Windows 项目迁移与锁版本实战
python·pip·uv
二进制杯莫停14 天前
Pycharm直接使用uv管理项目
ide·pycharm·uv
Patrick在香港16 天前
Python依赖管理从踩坑到选型:pip/poetry/uv四种方案全面实测
开发语言·python·数据分析·scikit-learn·ai编程·pip·uv