网易首页 > 网易号 > 正文 申请入驻

UV vs pip vs Conda:Python环境管理应该怎么选

0
分享至


写 Python 够久的话,肯定遇到过一个问题clone 一个仓库,pip install -r requirements.txt却特别慢



其实Python 打包生态已经经发了了很大的便哈, 2025 年有三款截然不同的工具。pip 是老兵,Conda 是数据科学家的主力,uv 则是彻底改写规则的挑战者。



pip:Python 的标准

pip最初的主力工具

  • pip 自 2011 年起成为 Python 默认包管理器。
  • PyPI(Python Package Index)安装软件包,解析依赖关系,支持 **_requirements.txt_** 文件。
  • PyPI 是全球最大的 Python 仓库,收录超过50 万个软件包。某个 README 里写着 **_pip install it_**,指的就是它。

pip 向 PyPI 发起请求,下载 wheel 包或源码包,按顺序解析依赖树,再将软件包装入当前激活的 Python 环境。它使用回溯解析器(pip 20.3 引入)来寻找有效的依赖集合,但对大型项目而言,这个解析过程可能相当耗时。

# 基本用法
pip install numpy pandas torch
# 从 requirements 文件安装
pip install -r requirements.txt
# 保存当前环境
pip freeze > requirements.txt
# 升级软件包
pip install --upgrade openai
# 卸载软件包
pip uninstall package-name

pip 不管理 Python 版本,不自己创建隔离的虚拟环境(需要配合 **_venv_** 或 **_virtualenv_** 使用),也不处理非 Python 的二进制依赖。原生也不生成锁定依赖文件——为此需要 **_pip-tools_** 来生成 **_requirements.lock_**。



Conda:数据科学家的工具

Conda 由 Anaconda 公司开发,是一个与编程语言无关的包管理和环境管理工具。与 pip 不同,它不局限于 Python 包,还能安装 C 库、CUDA 二进制文件、R 包以及系统级依赖。在数据科学、生物信息学和机器学习(Machine Learning)研究领域,技术栈往往包含针对MKL、CUDA 驱动或编译型 Fortran 代码构建的 **_numpy_**,Conda 因此不可或缺。

Conda 生态已分化出多个发行版:Anaconda 是包含 1500 多个预装科学软件包的完整发行版;Miniconda 是最小安装版,只有 Conda 和 Python;Mamba 是用 C++ 重新实现的版本,专门针对 Conda 最大的弱点——依赖解析速度慢。

# Conda 核心命令
# 创建指定 Python 版本的环境
conda create -n myenv python=3.11
# 激活环境
conda activate myenv
# 从 conda-forge 安装
conda install numpy pandas pytorch
# 从指定 channel 安装
conda install -c conda-forge package
# 导出环境
conda env export > environment.yml
# 从文件重建环境
conda env create -f environment.yml

Conda 使用 channel 作为软件包仓库。默认的 Anaconda channel 属于商业性质,自 2020 年起超过 200 人的组织需要购买许可证。conda-forge是社区驱动的替代方案,收录了 25000 多个软件包且无许可限制——大多数团队默认选择它。



uv:Rust 驱动

uv由 Astral(ruff 极速 linter 背后的团队)于 2024 年初发布,到 2026 年已迅速成为新 Python 项目的默认选择。完全用 Rust 编写不只是替代 pip——它用一个统一工具同时替代了 pip、virtualenv、pyenv 和 pip-tools,速度比原来快 10 到 100 倍。

uv 是编译好的 Rust 原生代码,安装时没有 Python 解释器的开销。它使用带硬链接的全局包缓存:同一个包在一个项目中安装后,其他项目直接硬链接而非复制。依赖解析器并行运行,采用移植自 PubGrub 的算法(与 Dart 的 pub 相同)并针对 Python 生态做了深度优化。

# uv 替代整个 Python 工作流
# 安装 Python 本身
uv python install 3.12
# 创建带 pyproject.toml 的项目
uv init my-project
cd my-project
# 添加依赖(自动管理虚拟环境和锁文件)
uv add numpy pandas fastapi
# 从锁文件安装(确定性构建)
uv sync
# 在项目环境中运行
uv run python main.py
uv run pytest
# 管理 Python 版本
uv python install 3.12
uv python pin 3.11
# pip 兼容模式(直接替换)
uv pip install package
uv pip install -r requirements.txt
# 全局安装 CLI 工具
uv tool install ruff

pyproject.toml 优先

uv 全面拥抱 PEP 517/518 和 **_pyproject.toml_** 作为项目标准。运行 **_uv add_** 时,它会自动更新 **_pyproject.toml_** 中的依赖项并重新生成 **_uv.lock_** 文件——一个跨平台、人类可读的锁文件,记录精确的解析依赖图。可重现构建因此变得轻而易举。



逐项对比



速度基准测试

在包缓存预热的情况下,安装典型的AI/ML 栈(PyTorch、LangChain、FastAPI、Pandas 以及约 50 个传递依赖):



在生产 CI Pipeline 中,这种差异会成倍放大。一条 Pipeline 每天运行 20 次,每次安装耗时 3 分钟,每天就在包管理上白白烧掉 1 小时计算时间。uv 可以将总时间压缩到 5 分钟以内,节省的是真实的金钱和真实的开发者时间。

对于 Agentic AI 工作流——可能需要启动数十个隔离 Python 环境(每个 agent、每个工具、每次实验各一个)——这种速度差距绝非表面文章,而是 CI Pipeline 4 分钟和 40 分钟之间的本质差别。

如何选择



用 LLM 构建应用时——无论是 agent 框架、RAG Pipeline、工具调用系统还是多 agent 编排——面对的都是快速迭代的依赖环境。openai、anthropic、langchain、llama-index、crewai 都在每周发版。能否在不破坏环境的前提下跟上节奏,是真实存在的工程约束。

uv 的内联脚本依赖(PEP 723)对 Agentic 工作流尤其值得关注:

# agent_runner.py — 自包含的 agentic 脚本
# /// script
# requires-python = ">=3.11"
# dependencies = [
# "anthropic>=0.30",
# "httpx>=0.27",
# "pydantic>=2.7",
# ]
# ///
uv run agent_runner.py # 自动创建隔离环境,即刻运行

单个 Python 文件内嵌依赖声明,任何安装了 uv 的人一条命令即可运行——不需要 **_pip install_**,不需要激活虚拟环境,也不需要读 README 说明。对内部工具、agent 原型和可分享的自动化脚本来说,这是实实在在的体验提升。



对于 AI 工程团队:从 pip 切换到 uv 通常能将 Docker 构建时间缩短 60% 到 80%,加快新成员上手速度,并消除经典的"在我机器上能跑"依赖漂移问题。迁移风险也低——uv 的 pip 子命令几乎可以完全无缝替换。

从 pip 迁移到 uv 比想象中简单

快速迁移指南:pip → uv

最快的路径是先把 uv 当作 pip 的直接替换来用,无需改动任何项目文件:

# 安装软件包
pip install flask uvicorn
uv add flask uvicorn # uv 等价命令(写入 pyproject.toml)
# 从 requirements 文件安装
pip install -r requirements.txt
uv pip install -r requirements.txt # 直接兼容
# 创建并激活环境
python -m venv venv && source venv/bin/activate
uv sync # uv 自动创建 .venv 并从锁文件安装
# 运行脚本
python script.py
uv run python script.py # 使用项目的托管环境



总结:该用哪个?



以下细分建议:



保留 Conda 的场景:确实需要它时——GPU/CUDA 库管理、包含非 Python 依赖的生物信息学或科学计算,或团队深度绑定 Anaconda 生态。如果留在 Conda 体系内Mamba 可以显著提升解析速度。

pip 随 Python 一起发布,对于快速临时脚本,或无法安装额外工具的环境,它依然完全够用。但对于任何在意可维护性和可重现性的项目,请选择 uv。

https://avoid.overfit.cn/post/723891f47b3a4361bb0ef9d6e7d53c02

作者:Uday Sharma

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中方对印度已读不回,美国也说大实话!这一次,莫迪再牛气也没用

中方对印度已读不回,美国也说大实话!这一次,莫迪再牛气也没用

面包夹知识
2026-07-07 14:30:01
玉米是血栓“凶手”?医生劝告:上了年纪的老人,这几物尽量少碰

玉米是血栓“凶手”?医生劝告:上了年纪的老人,这几物尽量少碰

岐黄传人孙大夫
2026-07-01 23:35:03
韩红的麻烦越来越大了

韩红的麻烦越来越大了

大张的自留地
2026-07-06 12:55:59
官方!郑钦文递补入围WTA250瑞典站正赛 全力争冠冲美网正赛名额

官方!郑钦文递补入围WTA250瑞典站正赛 全力争冠冲美网正赛名额

醉卧浮生
2026-07-08 20:23:08
加勒万河谷冲突后续,我方秘密武器使印军“雪豹计划”瞬间熄火

加勒万河谷冲突后续,我方秘密武器使印军“雪豹计划”瞬间熄火

南冥那只猫
2025-06-20 20:28:28
Meta出新招:若智能眼镜隐私指示灯被人为破坏,就自动关闭摄像头

Meta出新招:若智能眼镜隐私指示灯被人为破坏,就自动关闭摄像头

IT之家
2026-07-08 08:25:21
房子是有灵性的,若出现了这7个迹象,定是难得的旺宅!

房子是有灵性的,若出现了这7个迹象,定是难得的旺宅!

老覃讲历史
2026-06-28 12:22:50
雷军发文:风雨同舟,共克时艰!携手抗灾,我们同在! 小米捐赠1000万元现金紧急驰援广西等地救灾

雷军发文:风雨同舟,共克时艰!携手抗灾,我们同在! 小米捐赠1000万元现金紧急驰援广西等地救灾

大风新闻
2026-07-07 20:46:28
为了足球倾尽全力,特朗普要求足联改红牌规则

为了足球倾尽全力,特朗普要求足联改红牌规则

远方青木
2026-07-09 02:27:20
1天4个瓜!国外生子、被抓进去、自曝怀双胎、韩红最让人意外

1天4个瓜!国外生子、被抓进去、自曝怀双胎、韩红最让人意外

三石记
2026-06-25 11:54:09
赔光2亿仅冰山一角,冉莹颖再爆猛料,亲手撕下邹市明仅剩的体面

赔光2亿仅冰山一角,冉莹颖再爆猛料,亲手撕下邹市明仅剩的体面

舊事別提
2026-07-07 09:21:34
不留退路!俄罗斯法院裁定:没收欧洲清算银行2490亿美元资产

不留退路!俄罗斯法院裁定:没收欧洲清算银行2490亿美元资产

小正说娱乐
2026-05-19 03:01:40
广西大雨炸出一堆“牛鬼神蛇”,捐款名单曝光,韩红热巴让人意外

广西大雨炸出一堆“牛鬼神蛇”,捐款名单曝光,韩红热巴让人意外

趣文说娱
2026-07-08 06:35:21
心理学:很多老年夫妻退休后,就算有个600万存款,也大概率会返贫,原因只有2个,说出来你可能不信

心理学:很多老年夫妻退休后,就算有个600万存款,也大概率会返贫,原因只有2个,说出来你可能不信

心理观察局
2026-07-06 06:31:33
一人打爆阿根廷队!24岁小将世界杯一战成名,接班萨拉赫指日可待

一人打爆阿根廷队!24岁小将世界杯一战成名,接班萨拉赫指日可待

兵哥篮球故事
2026-07-08 14:42:19
难怪老一辈总说年轻人出门鬼混,网友:还是老辈子玩的花

难怪老一辈总说年轻人出门鬼混,网友:还是老辈子玩的花

康富贵碎碎念
2026-07-02 11:41:22
事发滨州一宾馆,一男子开房遭遇“仙人跳”!

事发滨州一宾馆,一男子开房遭遇“仙人跳”!

嗨0543
2026-07-08 21:58:08
人不会无缘无故长红痣!医生忠告:可能潜藏了3种疾病,别大意了

人不会无缘无故长红痣!医生忠告:可能潜藏了3种疾病,别大意了

健康之光
2026-07-07 16:32:25
受台风“巴威”影响,预计7月10日至14日,福建、浙江、上海、江苏、山东、辽宁、河北和天津沿海将先后出现一次较强的台风风暴潮过程

受台风“巴威”影响,预计7月10日至14日,福建、浙江、上海、江苏、山东、辽宁、河北和天津沿海将先后出现一次较强的台风风暴潮过程

鲁中晨报
2026-07-08 13:34:27
多名演员发文抵制,业内人士:很悲哀,收入猛降八成,几乎成“免费劳动力”

多名演员发文抵制,业内人士:很悲哀,收入猛降八成,几乎成“免费劳动力”

上海约饭局
2026-07-05 15:23:20
2026-07-09 02:52:49
deephub incentive-icons
deephub
CV NLP和数据挖掘知识
2027文章数 1465关注度
往期回顾 全部

科技要闻

独家对话小红书IPO举报风波当事人

头条要闻

广西贵港3000名师生等待救援 老师:人几乎都要被冲走

头条要闻

广西贵港3000名师生等待救援 老师:人几乎都要被冲走

体育要闻

阿根廷绝境重生,离不开这个罗!

娱乐要闻

鹿晗出轨?邓超出轨绯闻又被扒出

财经要闻

新能源车"外挂电池"乱象:暗藏致命风险

汽车要闻

MB.EA纯电架构/售价33.98万 全新奔驰纯电GLC鎏金版上市

态度原创

时尚
亲子
旅游
艺术
公开课

取下妈妈体内的节育环

亲子要闻

别把认字当作技术活,建立文字与感受的连接,孩子日后学习阅读都不会觉得苦

旅游要闻

忻州云中河景区:碧水织锦绣 蝶变润秀容

艺术要闻

多元与共融——2026第五届深圳大芬国际油画双年展 作品选(二)

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版