抛弃 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 天前
如何解决 pip install tensorflow-gpu 报错 未检测到 CUDA 驱动 问题
人工智能·python·深度学习·aigc·tensorflow·bug·pip
baidu_huihui2 天前
在 CentOS 9 上安装 pip(Python 的包管理工具)
开发语言·python·pip
万粉变现经纪人2 天前
如何解决 import aiohttp ModuleNotFoundError: No module named ‘aiohttp’
python·scrapy·beautifulsoup·aigc·pillow·pip·httpx
SMF19192 天前
【uv】Python包管理器uv安装和应用
开发语言·python·uv
l1t2 天前
利用uv自带的cpython软件包在离线机器中安装pandas软件
pandas·uv
万粉变现经纪人2 天前
如何解决 pip install ta-lib 报错 本地 TA-Lib 库未安装 问题
数据库·python·scrapy·oracle·bug·pandas·pip
rannn_1113 天前
【Redis|实战篇7】黑马点评|附近商铺、用户签到、UV签到
java·数据库·redis·后端·uv
tryCbest4 天前
Pip生成requirements.txt文件
python·pip
李昊哲小课6 天前
pip缓存配置
python·缓存·pip
belldeep6 天前
python:介绍 UV 安装,如何使用 UV 安装配置 OpenHarness
windows·python·环境变量·uv