news 2026/6/6 2:09:32

再见 Pip!Python 包管理神器 uv 上手指南:用 Rust 重写的安装速度快到离谱

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
再见 Pip!Python 包管理神器 uv 上手指南:用 Rust 重写的安装速度快到离谱

🐢 前言:为什么我们需要抛弃 Pip?

在 Python 生态中,pip是绝对的基石,但它的架构毕竟老旧。
当你的项目依赖复杂时,pip 的解析速度(Resolution)简直是灾难。而uv的出现,就是为了解决两个字:速度

uv 的杀手锏:

  1. Rust 加持:利用 Rust 的内存安全和零开销抽象,并在底层进行极致优化。
  2. 全局缓存:不同项目间共享缓存,拒绝重复下载。
  3. 多功能合一:它既是包管理器,也是虚拟环境管理器,还是脚本运行器。

🏎️ 一、 速度实测:不是快一点点

口说无凭,直接看数据。
在冷启动(无缓存)条件下,解析并安装一个普通的 Django/Flask 项目依赖。

工具解析时间 (Resolution)安装时间 (Installation)总体感受
Pip🐢 2.5s🐢 5.0s能用,但慢
Poetry🐢 3.0s🐰 4.5s优雅,但解析慢
uv0.05s0.3s眨眼就结束

工作流对比 (Mermaid):

极速模式 (uv)

毫秒级

并行下载 + 硬链接

uv venv

uv pip install

瞬间完成

传统模式 (Pip)

慢速解析

创建 venv

激活 venv

pip install

等待...

安装完成


🛠️ 二、 安装与上手

1. 安装 uv

你可以用 pip 安装它(这是为了安装“卸载 pip 的工具”),或者用脚本。

# MacOS / Linuxcurl-LsSfhttps://astral.sh/uv/install.sh|sh# Windowspowershell-c"irm https://astral.sh/uv/install.ps1 | iex"# 或者用 pippipinstalluv
2. 管理虚拟环境 (替代 venv)

以前你需要python -m venv .venv,现在:

# 创建虚拟环境 (速度极快)uv venv# 激活 (和以前一样)# Linux/Macsource.venv/bin/activate# Windows.venv\Scripts\activate
3. 安装依赖 (替代 pip install)

uv 的命令设计故意兼容了 pip 的习惯,你只需要在前面加个uv

# 安装单个包uv pipinstallrequests# 从文件安装uv pipinstall-rrequirements.txt# 甚至可以直接识别 pyproject.tomluv pipinstall-rpyproject.toml

注意:uv 会自动检测当前目录下的虚拟环境并安装进去,不需要你手动激活!


✨ 三、 杀手级功能:uv run与 脚本隔离

这是我最喜欢的功能,类似于 Node.js 的npx
假设你写了一个脚本script.py,依赖pandasrequests
以前你需要:创建环境 -> 激活 -> 安装 pandas -> 运行。

现在,你只需要在脚本头部加上元数据(PEP 723):

# script.py# /// script# requires-python = ">=3.11"# dependencies = [# "requests<3",# "pandas",# ]# ///importrequestsimportpandasaspdprint("Hello uv!")

然后直接运行:

uv run script.py

uv 会自动创建一个临时的、隔离的虚拟环境,下载依赖,运行脚本,用完即走。这对于测试代码片段、CI/CD 流水线简直是神器。


🔄 四、 兼容性与迁移

Q: 我现有的项目能用吗?
A:完全可以。uv 旨在成为 pip 的“直接替代品(Drop-in Replacement)”。它支持.txt.toml,支持editable安装模式。

Q: 它可以替代 Poetry 吗?
A:部分可以。uv 目前更侧重于底层的包安装和环境管理。虽然它现在也推出了uv inituv add来管理项目依赖(类似于 Poetry 的工作流),但如果你深度依赖 Poetry 的 Publish/Build 功能,可以暂缓,或者混用(用 Poetry 管理配置,用 uv 安装)。


🎯 总结

uv不是一个简单的轮子,它是 Python 基础设施现代化的一次重大升级。
在 Rust 的加持下,它向我们证明了:原来 Python 的开发体验可以这么丝滑。

谁适合切换?

  • 受够了 CI/CD 流水线安装依赖太慢的团队。
  • 需要在本地频繁切换项目的开发者。
  • 喜欢尝试新工具的技术极客。

Next Step:
打开你的终端,执行pip install uv,然后随便找一个requirements.txt比较大的旧项目,运行uv pip install -r requirements.txt,体验一下什么叫“离谱的快”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 23:41:29

【开题答辩全过程】以 基于Python的学生选课系统设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/5/30 18:06:46

uniapp+ssm学校高校校园生活综合服务系统小程序

目录摘要技术亮点项目技术支持论文大纲核心代码部分展示可定制开发之亮点部门介绍结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作摘要 该系统基于Uniapp与SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架开发&#xff0c;旨在…

作者头像 李华
网站建设 2026/5/30 15:53:16

uniapp+基于微信小程序的用户技能社交婚恋交友系统

目录系统概述核心功能技术亮点应用价值项目技术支持论文大纲核心代码部分展示可定制开发之亮点部门介绍结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作系统概述 该系统基于UniApp框架开发&#xff0c;结合微信小程序生态&#xff0c;构…

作者头像 李华
网站建设 2026/5/30 22:04:37

价值投资中的定性分析

价值投资中的定性分析关键词&#xff1a;价值投资、定性分析、企业竞争力、商业模式、管理层、行业趋势、护城河摘要&#xff1a;本文聚焦于价值投资中的定性分析。定性分析在价值投资中起着关键作用&#xff0c;它能帮助投资者深入了解企业的内在本质。文章首先介绍了定性分析…

作者头像 李华
网站建设 2026/6/5 10:30:13

MyBatisPlus配置复杂?我们的模型接口即插即用

VoxCPM-1.5-TTS-WEB-UI&#xff1a;让语音合成像打开网页一样简单 你有没有遇到过这样的场景&#xff1f;团队急着上线一个智能客服系统&#xff0c;产品经理说&#xff1a;“只要能读出用户问题就行”&#xff0c;结果你翻遍文档、装环境、调依赖&#xff0c;三天过去了模型还…

作者头像 李华