Astral 出品,Rust 写的下一代 Python 工具链——10-100 倍速度,一键替代 pip、venv、pipx、poetry、pyenv
过去十年 Python 包管理一直是生态最大的痛点——pip 慢、依赖解析弱、虚拟环境要手动管理、Poetry 配置复杂、Conda 和 pip 互相打架。uv 是 Astral(Ruff 作者团队)用 Rust 重写的全新工具链,一次性把 pip、venv、pipx、poetry、pyenv 的功能全部合并,速度比 pip 快 10-100 倍。
更重要的是 uv 把 Python 生态"锁文件 + 工作区"这些现代语言早就有的能力补齐了:uv.lock 保证团队和 CI 装出的包完全一致;uv run 像 npm run 一样执行脚本;uv tool 像 pipx 一样全局安装工具。2024 年起 FastAPI、Polars、Hugging Face 等项目陆续迁移到 uv 作为推荐工作流。
本教程从零开始讲到进阶:安装和核心命令、pyproject.toml 与锁文件、虚拟环境管理、Python 版本切换、工具管理、工作区 Monorepo、脚本模式、PyTorch 等深度学习框架集成、CI/CD 部署、迁移指南。
六大能力一览,理解 uv 为何能一统 Python 工具链
Rust 实现 + 全局缓存 + 硬链接,冷启动快 10 倍,热缓存快 100 倍。
跨平台通用的 uv.lock,精确记录版本+哈希,团队与 CI 完全一致。
无需提前装 Python,uv 自动下载对应版本(类似 nvm)。
替代 pip / venv / pipx / poetry / pyenv 五个工具,一条命令走天下。
原生支持多包工作区,子项目共享锁文件与依赖缓存。
官方 Docker 镜像、uv sync --frozen、缓存层优化,CI/CD 极速。
从安装到深度集成,10 章覆盖 uv 的每一个核心能力
为什么需要 uv、与 pip/poetry/conda 对比、安装方式、shell 补全、环境变量。首次体验从 0 到 1。
uv init、PEP 621 项目配置详解、[project] / [dependency-groups] 区块、脚本入口、构建后端选择。
添加/移除依赖、版本约束语法、可选依赖 extras、开发依赖组、git/url/路径依赖、平台标记。
uv.lock 结构、跨平台解析机制、哈希校验、--frozen / --locked 区别、冲突解决、手动升级策略。
uv python install/list、.python-version 文件、多版本并存、python-build-standalone 原理、Pin 与 Free-Threaded。
uv venv 自动创建、uv run 脚本执行、临时依赖 inline metadata(PEP 723)、shell 激活 vs 免激活。
uv tool install(pipx 替代)、isolated tool 环境、uvx 一次性运行、升级与卸载、PATH 接管。
多包 Monorepo 配置、members 与 root、workspace 成员间依赖、共享锁文件、uv build 发布多包。
多索引源配置、PyTorch CPU/CUDA 变体、fork + marker 策略、私有 PyPI、Tensorflow/JAX 平台依赖。
GitHub Actions 缓存、uv sync --frozen、uv 官方 Docker 镜像、多阶段构建优化、从 pip/poetry 迁移清单。