抛弃 Pip,UV安装快20倍

抛弃 Pip?Rust 编写的 UV 可能是 Python 开发的终极答案

作为一名 Python 开发者,你肯定经历过这种绝望:当你接手一个新项目,敲下 poetry install 或者 pip install 后,甚至有时间去楼下买杯咖啡,回来发现依赖解析还在转圈圈。

苦恼于 pip 的慢、poetry 的依赖解析卡顿以及 venv 管理的繁琐,Python 社区终于迎来了一个真正的「破局者」------ UV

简单说,这玩意儿就是 Python 包管理界的 F1 赛车

UV 是什么来头?

如果你用过 Ruff(那个快到离谱的 Python 代码 linter),那你对 Astral 这个团队一定不陌生。没错,UV 就是这帮人搞出来的。

他们再次祭出了大杀器------Rust。UV 底层完全由 Rust 编写,利用了 Rust 极致的性能和并行处理能力。官方数据显示,它的安装速度比 pip 快几十倍,依赖解析速度比 poetry 快上百倍。

这不是夸张,是真的「眨眼补帧」级别的快。

为什么要换用 UV?它能干嘛?

现在的 Python 工具链其实挺碎片的:装包用 pip,管环境用 venvconda,管依赖和打包用 poetryflit

UV 的野心是:我全都要。 它定位为一站式的 Python 项目构建与包管理工具。

1. 速度,还是 Tmd 速度

这是 UV 最大的卖点。它自带高效缓存和并行下载。如果你试过用 UV 安装像 PyTorch 这种庞然大物,你会发现进度条跑得跟飞一样。它不仅兼容 requirements.txt,而且不需要你改任何代码,直接无缝替换 pip

2. 一个工具,搞定所有

以前我们需要组合拳,现在 UV 自己就能打全场:

  • 替代 Pip:极速装包。
  • 替代 Venv/Conda:它内置了虚拟环境管理,毫秒级创建环境。
  • 替代 Poetry/Pipenv :它支持 pyproject.toml,能生成 uv.lock(锁文件生成速度极快),彻底告别依赖地狱。
  • 替代 Setuptools:支持构建 wheel 和 sdist 源码包,发布项目也归它管。

3. 无痛迁移

最让我惊喜的是它的兼容性。它完全尊重现有的标准(PEP 621),兼容你现在的 pip.conf 配置,甚至连国内的清华源、阿里源都能直接识别,不需要重新配置一堆东西。

快速上手指南

别被「新工具」吓到,UV 的上手成本极低。

第一步:安装 UV

比较黑色幽默的是,目前最方便安装 UV 的方式还是用 pip:

bash 复制代码
pip install uv --user

第二步:体验飞一般的装包(替代 Pip)

命令几乎一模一样,只需要加个 uv 前缀:

bash 复制代码
# 单个包安装
uv install requests

# 从 requirements.txt 安装(感受一下这个解析速度)
uv pip install -r requirements.txt

第三步:现代化的项目管理(替代 Poetry)

如果你想体验完整的项目流:

bash 复制代码
# 1. 初始化项目
uv init my_new_project

# 2. 创建虚拟环境(自动生成 .venv,不需要再敲 python -m venv 了)
uv venv

# 3. 激活环境
# Windows:
.venv\Scripts\activate
# Mac/Linux:
source .venv/bin/activate

# 4. 构建发布
uv build

写在最后

UV 目前虽然还在快速迭代中,但已经非常稳定,完全可以用于生产环境。对于受够了 Python 传统工具链「慢」和「碎」的开发者来说,UV 绝对值得你花 5 分钟去尝试一下。

既然能开法拉利,为什么还要推独轮车呢?

相关推荐
卖个几把萌1 小时前
解决 Python 项目依赖冲突:使用 pip-tools 一键生成现代化的 requirements.txt
开发语言·python·pip
XerCis8 小时前
Python包与环境管理工具uv及pyproject.toml指南
开发语言·python·uv
MediaTea8 小时前
UV 滤镜:从光学必要性到“心理保护层”的角色转变
uv
南_山无梅落1 天前
《uv 终极教程:安装、镜像配置与 pip 无缝迁移》
pip·uv
百锦再3 天前
python之路并不一马平川:带你踩坑Pandas
开发语言·python·pandas·pip·requests·tools·mircro
CNRio3 天前
UV换源完整指南:一键搞定PyPI与CPython源,下载速度飞起来!
uv
SunnyRivers3 天前
uv 与 pip:Python 包与依赖管理工具对比
python·pip·uv
布史4 天前
UV 项目管理指南
uv
cuckooman4 天前
uv设置国内源
python·pip·uv·镜像源
电棍2334 天前
使用uv的一些心得记录
uv