新时代2025的python包管理工具——UV

为什么要使用uv

uv 是一款由 Astral 开发的、用 Rust 编写的高性能 Python 包安装与项目管理工具。它旨在替代传统的 pipvirtualenvpip-tools 等工具链,提供一体化、极速且现代化的 Python 工程化体验

其核心优势包括:

  1. 极致性能
    uv 的包下载与解析速度可达 pipconda10 倍以上 ,这主要得益于其底层使用 Rust 语言实现 ,并充分利用多线程并行下载、缓存优化和高效的依赖解析算法。
  2. 一体化工具链
    uv 集成了虚拟环境创建(uv venv)、依赖安装(uv pip install)、依赖解析(支持 requirements.txtpyproject.toml)、包发布等常用功能,无需在多个工具间切换,简化了开发与部署流程。
  3. 自动依赖识别与管理
    在项目中,uv 能自动识别 pyproject.tomlrequirements.txt 等依赖文件,智能解析项目所需的依赖项,并支持精确的版本锁定与冲突检测,确保环境的一致性与可复现性。
  4. 拥抱现代 Python 标准
    uv 原生支持 pyproject.toml ------ 这是 PEP 518/621 定义的现代 Python 项目配置标准。通过统一的配置文件,开发者可以更清晰、简洁地管理构建配置、依赖项和元数据。
  5. 轻量且可靠
    尽管功能强大,uv 本身非常轻量,单二进制文件即可运行,无外部依赖。同时,其依赖解析逻辑与 pip 高度兼容,确保了迁移的平滑性与结果的可靠性。

安装UV

使用命令

1.uv venv:在当前目录虚拟环境

2.激活方式:

Windows:.\.venv\Scripts\activate

Linux/MacOS:source .venv/bin/activate

3.uv add <包名>:当前虚拟环境添加包

复制代码
# uv添加一个包
uv add requests

# uv添加多个包
uv add fastapi uvicorn numpy pandas

4.uv pip list:查看已安装的包

5.uv remove <包名>:移除某个包依赖

6.uv pip freeze > requirements.txt:导出依赖

复制代码
# 导出当前环境的依赖
uv pip freeze > requirements.txt

# 导出生产环境依赖(排除开发依赖)
uv pip freeze --production > requirements.txt

7.uv sync:根据uv.lock和pyproject.toml安装依赖,类似于pip install -e .,但更高效

复制代码
# 速度太慢的话可以在pyproject.toml中配置清华源
[tool.uv]
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
  1. uv lock:生成/更新依赖锁,会将所有依赖包算出相应版本然后写入uv.lock文件

    更新依赖

    uv lock --upgrade

一般用不上的,用于开发python库:

9.uv build:将项目打包成 wheel/sdist ,别人在pip install 使用

  1. uv publish:将包发布到pypi上面,让全球开发者 pip install 你的库
相关推荐
SCBAiotAigc3 天前
2026.2.25:conda与uv并存时,如何取消base激活
人工智能·python·conda·uv
wumingxiaoyao5 天前
从 requirements.txt 到 uv:多模块 Monorepo 的依赖管理升级指南(用法、特点、区别与最佳实践 + 例子)
pip·uv·pip tool
宸迪15 天前
【python】使用uv管理项目包依赖
linux·python·uv
铬锐特实业18 天前
自动化点胶+低粘度UV胶:流水线效率提升方案 |铬锐特实业
uv·光固化胶水·铬锐特·紫外线胶水·uv胶
放飞自我的Coder19 天前
【UV python包管理工具 简单应用足够】
python·uv
恒云客19 天前
FastAPI 容器化UV部署
前端·fastapi·uv
永霖光电_UVLED19 天前
LEDINTRO推出突破性无害230nm UV LED空气杀菌球
uv
TTGGGFF19 天前
UV 全命令速查手册
大数据·elasticsearch·uv
知识即是力量ol19 天前
亿级数据下的基数统计:从 Set 到 HyperLogLog 的进阶实战
redis·set·uv·bitmap·hyperloglog·亿级数据
玄同76520 天前
我的 Trae Skill 实践|使用 UV 工具一键搭建 Python 项目开发环境
开发语言·人工智能·python·langchain·uv·trae·vibe coding