再见 pip!Rust 写的 uv 正在把 Python 包管理按在地上摩擦

简介: Python开发者最头疼的依赖管理与环境配置难题,终于有解!uv——Rust编写的超快包管理器,安装、解析、虚拟环境创建速度达pip的10-100倍。支持一键装Python版本、运行脚本、编译依赖,正重塑Python开发工作流。(239字)

如果你问,作为一名 Python 开发者,平时最让你头疼的事情是什么?

我相信 90% 的兄弟都会回答:依赖管理和环境配置。

这就是我们的日常:

  • pip install 慢得像蜗牛,看着进度条发呆。
  • 接手一个老项目,requirements.txt 装到一半报错,提示各种依赖冲突。
  • 电脑里装了 Conda、Poetry、pyenv,乱成一锅粥,最后连自己用的哪个 Python 版本都搞不清了。

pip 久矣!

但今天,我要给大家安利一个最近在技术圈火到爆炸的神器——uv

用完它,我只有一种感觉:以前的日子简直是再也回不去了。

⚡️ 什么是 uv?为什么它这么快?

简单来说,uv 是一个极其快速的 Python 包安装器和解析器。

它最大的卖点就写在它的基因里:它是用 Rust 语言编写的。

大家都知道,Rust 以内存安全和极致性能著称。之前的代码格式化工具 Ruff 也是这家叫 Astral 的公司出的,当时就凭速度震惊了业界。现在,他们把魔爪伸向了 pip

在某些测试场景下,uv 的速度是 pip10-100 倍

注意: 这不是简单的网络下载速度快,而是它在“解析依赖关系”(Resolver)这一步快得离谱。当你的项目有几百个包互相依赖时,pip 还在算数学题,uv 已经交卷了。

🛠️ 上手实战:快到飞起

安装 uv 非常简单,即使你连 Python 都没装,也可以直接用命令行搞定(支持 macOS, Linux, Windows)。

以 macOS/Linux 为例:

# 官方推荐的安装方式
curl -LsSf https://astral.sh/uv/install.sh | sh

装好之后,我们来体验一下它的“丝滑”。

1. 创建虚拟环境

以前我们用 python -m venv .venv,现在只需要:

# 瞬间创建一个虚拟环境
uv venv

你会发现,它甚至不需要你手动激活环境(在某些命令下),不过为了符合习惯,我们还是可以激活它:

# macOS/Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate

2. 安装包:快如闪电

重点来了!我们来安装一个常用的库,比如 requests

# 使用 uv 进行安装
uv pip install requests

你可以盯着屏幕看,但我估计你还没看清进度条,它就结束了。

而且,uv 的输出非常现代化,清晰地告诉你它干了什么,不像 pip 那样吐出一大堆红红白白的日志。

3. 替代 pip-compile

如果你以前用 pip-tools 来锁定版本,uv 也完美支持,而且速度快得多:

# 假设你有一个 requirements.in 文件
# uv 会瞬间帮你生成锁定的 requirements.txt
uv pip compile requirements.in -o requirements.txt

🤯 不止是快,它想做“全能王”

如果 uv 只是个快速版的 pip,那它还不至于让我这么兴奋。

最近 uv 的更新显示了它的野心:它想接管你的整个 Python 工作流。

  • Python 版本管理: 它可以像 pyenv 一样帮你下载和安装不同版本的 Python。
    ```bash

    比如你想用 Python 3.12 跑个脚本

    uv run --python 3.12 app.py

```

如果你的电脑没装 Python 3.12,它会自动帮你下载下来,放在独立的目录里,不污染系统!

  • 脚本执行: 以后分享脚本,不用告诉别人“先装这个包,再装那个包”。直接在脚本里声明依赖,用 uv run 一键运行。

✍️ 总结与建议

uv 会取代 pip 吗?

短期内,pip 作为官方标准依然会存在。但在实际工程中,我强烈建议大家开始尝试 uv,特别是对于:

  1. CI/CD 流水线: 能节省大量的构建时间,帮公司省钱。
  2. 大型项目: 依赖解析速度的提升能极大改善开发体验。
  3. Docker 镜像构建: uv 的缓存机制非常优秀,能显著减小镜像体积和构建耗时。

技术在进步,千万别抱着旧工具不撒手。赶紧去试试 uv,体验一下“飞”一般的感觉!

你平时开发中最讨厌 Python 的哪一点?是环境配置难,还是包安装慢?欢迎在评论区吐槽!

相关文章
|
Ubuntu
Ubuntu系统镜像下载,国内镜像站大全(山大/清华/阿里/浙大/中科大...)
装Ubuntu,是很多理工科同学入门的第一个挑战,首先我们就需要找到一个能用的iso镜像,根据你的网络环境的不同,不同的站点下载速度会不一样,下面列举一下几个比较好用的,都是来自Ubuntu官方推荐镜像站链接导航国内分区
28993 1
|
29天前
|
设计模式 缓存 测试技术
Python 装饰器很难?那是你没看到这篇文章!
Python装饰器是高效复用代码的利器!本文用通俗语言拆解其本质:从函数是一等公民、闭包原理,到手写计时装饰器、@语法糖、支持参数的万能版,再到保留元信息的完美实践。零基础也能轻松掌握!
108 3
|
7天前
|
人工智能 弹性计算 API
从入门到精通!阿里云三种方式部署Hermes Agent完整步骤汇总
随着AI智能体技术快速普及,Hermes Agent凭借自进化学习、持久记忆、多工具协同的核心能力,成为开发者与企业搭建自动化任务平台的热门选择。不同于普通对话机器人,Hermes能够自主拆解任务、调用浏览器、代码解释器、文件管理等工具,实现办公自动化、项目开发、数据分析等全场景落地。
265 2
|
7天前
|
缓存 Rust Linux
Python 统一大业:uv 如何整合 Pip、Pyenv 和 Venv?
Python包管理长期饱受速度慢、依赖冲突之苦。Rust编写的`uv`横空出世——集Python版本管理、虚拟环境创建、依赖安装与锁定于一体,速度比pip快10–100倍,真正实现“All-in-One”极速开发体验。(239字)
215 0
|
1月前
|
NoSQL Unix Linux
别再死记硬背了!一文扒光 I/O 多路复用的底裤(Epoll/Select/Poll)
本文深入剖析I/O多路复用本质:以“一个服务员服务百桌客人”类比,讲清select/poll/epoll核心差异;揭秘红黑树+就绪队列如何实现O(1)高效通知;厘清LT/ET触发模式与同步/异步误区;直击高并发内存、上下文切换、锁竞争三大痛点。助你面试不背书,架构有底气!(239字)
182 3
|
29天前
|
人工智能 JSON 数据格式
最新短视频解析接口
最新实用的短视频解析接口,该接口可快速解析短视频相关信息,包括视频标题、视频链接、封面链接及图集信息,适用于各类需要获取短视频基础数据的场景
1259 1
|
29天前
|
安全 Java 编译器
【Java基础】面向对象三大特性、重载 vs 重写、接口 vs 抽象类(附《面试背诵版》+《自测题》)
本文系统梳理Java面向对象核心知识:详解封装、继承、多态三大特性及实现要点;清晰对比重载(编译时多态)与重写(运行时多态)的语法与语义差异;深入剖析抽象类(is-a、代码复用)与接口(can-do、多实现)的本质区别;涵盖面试高频考点、典型易错点及速记口诀,助你高效掌握并应对技术面试。
|
3月前
|
人工智能 机器人 API
一个人活成一支队伍:OpenClaw多智能体配置+飞书对接+大模型接入优化完整手册
OpenClaw的核心价值在于打破单一AI的能力局限,通过多Agent架构构建分工明确的数字员工团队,让每个智能体专注特定任务,协同完成复杂流程。本文基于2026年最新稳定版,遵循“环境准备→角色规划→核心配置→系统分配→通讯对接→启动调试”6大步骤,详细拆解数字员工团队搭建全流程,同时提供阿里云及本地多系统部署方案、阿里云百炼免费大模型配置,所有命令可直接复制执行,助力用户从零打造高效协同的AI团队。
1911 4

热门文章

最新文章