抛弃 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 分钟去尝试一下。

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

相关推荐
pearbing1 天前
天猫UV量提高实用指南:找准方向,稳步突破流量瓶颈
大数据·uv·天猫uv量提高·天猫uv量·uv量提高·天猫提高uv量
萧鼎1 天前
Python 包管理的“超音速”革命:全面上手 uv 工具链
开发语言·python·uv
猫头虎1 天前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy
淮北4943 天前
pip虚拟环境包的问题
开发语言·python·pip
Albert Edison3 天前
【Python】函数
java·linux·python·pip
不懒不懒3 天前
【机器学习:下采样 VS 过采样——逻辑回归在信用卡欺诈检测中的实践】
python·numpy·scikit-learn·matplotlib·pip·futurewarning
规划酱5 天前
Arcgis中pip安装ezdxf部分GIS有pyparsing安装失败的情况处理
python·arcgis·pip·规划酱
凉忆-5 天前
llama-factory训练大模型
python·pip·llama
肆意飞扬5 天前
Python篇:使用conda、pip的一些命令记录
python·conda·pip
coloma20125 天前
COCOS代码动态增加刚体和碰撞体的方法
前端·uv