uv打包工具介绍

发布时间:2026/8/1 3:05:26
uv打包工具介绍 uv是由AstralRust 编写的 Ruff 代码检查工具团队开发的极速 Python 包与项目管理器用 Rust 写成旨在替代pip、pip-tools、virtualenv、poetry等工具统一管理 Python 项目中的依赖、虚拟环境和 Python 版本。核心功能一览功能对应传统工具说明uv venvvirtualenv/python -m venv创建虚拟环境速度极快uv pip installpip install安装依赖兼容 pip 命令uv pip compilepip-compile生成精确的锁文件requirements.txtuv pip syncpip-sync将环境同步为锁文件状态uv run手动激活环境 运行脚本自动检测/创建环境并执行命令uv init/uv add/uv remove/uv lockpoetry/pipenv项目管理pyproject.tomluv python install/list/findpyenv管理 Python 解释器版本为什么选择 uv快到惊人用 Rust 实现并行下载、解析和安装安装速度常比 pip 快 10–100 倍尤其依赖解析阶段。全局缓存机制重复依赖几乎瞬间完成。完全兼容 PyPI 和 pip 工作流支持requirements.txt、pyproject.toml可以直接替代 pip 命令如uv pip install torch。一体化项目管理用uv init创建项目uv add添加依赖自动生成pyproject.toml和uv.lock锁定所有依赖版本。零配置 Python 管理可下载安装任意 CPython 版本甚至 PyPy项目可指定所需 Python 版本uv run自动处理。跨平台单文件分发无需 Python 或 Rust 预装下载即用。安装 uvLinux / macOS:bashcurl -LsSf https://astral.sh/uv/install.sh | shWindows (PowerShell):powershellpowershell -ExecutionPolicy ByPass -c irm https://astral.sh/uv/install.ps1 | iex或使用 pip:bashpip install uv安装后验证bashuv --version常用命令速查1. 虚拟环境bash# 创建虚拟环境默认 .venv 目录 uv venv # 指定 Python 版本创建 uv venv --python 3.122. 依赖安装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.txt3. 项目管理poetry 风格bash# 初始化新项目 uv init my-project cd my-project # 添加依赖 uv add fastapi uvicorn # 添加开发依赖 uv add --dev pytest black # 移除依赖 uv remove requests # 锁定当前依赖 uv lock # 从锁文件同步安装 uv sync4. 运行脚本自动管理环境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 命令兼容✅✅❌✅ 总结uv把pip的速度问题、venv的繁琐激活、pyenv的版本管理、poetry的项目管理集于一身是当前 Python 生态里最令人兴奋的工具之一。无论你是个人开发还是团队协作都可以用uv获得丝滑、极速的依赖管理体验。