Python 依赖包管理工具:uv
Python 依赖包管理工具:uv
- 简介
- 1.安装
- 2. 基本使用
- 2.1 创建虚拟环境
- 2.2 激活虚拟环境
- 2.3 初始化项目
- 2.4 安装依赖
- 2.4 移除依赖
- 2.5 查看已安装的包
- 2.6 生成 requirements.txt
- 3. UV 与 Pip、Pipenv、Virtualenv 的对比
- 总结
简介
UV 是一个用 Rust 编写的 Python 包安装和依赖管理工具,比传统工具(如 pip)有着更快、更高效的体验。它主要关注两个核心目标:
- 速度: UV 在包安装、依赖解析和虚拟环境创建等方面进行了优化,速度有显著的提升。
- 效率: UV 可以减少资源消耗,尤其是在大型项目中。
UV 基于 pip 和 venv 的概念,因此与现有 Python 生态系统兼容,学习曲线相对平缓。
GitHub仓库:https://github.com/astral-sh/uv
1.安装
使用 pip 安装 UV:
pip install uv
2. 基本使用
2.1 创建虚拟环境
UV 可以快速创建 Python 虚拟环境:
uv venv .venv # 创建一个名为 .venv 的虚拟环境
与 python -m venv .venv
相比,UV 版本的速度通常更快。
2.2 激活虚拟环境
创建好虚拟环境后,需要激活它才能使用:
.venv\Scripts\activate # 在 Windows 上
uv venv -p 3.11.9 # 指定本机已安装的Python版本
2.3 初始化项目
uv init # 生成pyproject.toml和uv.lock
2.4 安装依赖
-
从pyproject.toml自动安装依赖:
uv sync
-
添加一个或多个依赖:
uv add pandas airtest
UV 在安装依赖时,会进行并行下载和编译,显著提升速度。
2.4 移除依赖
使用 remove
命令移除依赖包:
uv remove requests
2.5 查看已安装的包
使用 list
命令查看已安装的包:
uv pip list
2.6 生成 requirements.txt
虽然 UV 自身不直接提供生成 requirements.txt
的功能,但你可以使用 pip freeze
命令:
uv pip freeze > requirements.txt
3. UV 与 Pip、Pipenv、Virtualenv 的对比
功能 | UV | Pip | Pipenv | Virtualenv |
---|---|---|---|---|
安装速度 | 更快 | 较慢 | 中等 | 不适用 |
资源占用 | 更低 | 较高 | 中等 | 中等 |
并行下载 | 支持 | 有限支持 | 不支持 | 不适用 |
虚拟环境创建速度 | 更快 | 较慢 | 中等 | 较慢 |
依赖管理 | 支持 | 支持 | 支持 | 不适用 |
虚拟环境管理 | 支持 | 不支持 | 支持 | 支持 |
项目初始化 | 支持 | 不支持 | 支持 | 不支持 |
依赖锁定 | 支持 | 不支持 | 支持 | 不支持 |
跨平台支持 | 支持 | 支持 | 支持 | 支持 |
总结
UV 是一个新兴的 Python 包安装和依赖管理工具,凭借其用 Rust 编写的高效实现,在速度和资源占用方面显著优于传统的 pip 和 virtualenv。UV 不仅支持快速创建虚拟环境,还能并行下载和编译依赖包,极大地提升了开发效率。此外,UV 还提供了项目初始化和依赖锁定等功能,使其在功能上与 Pipenv 相当,但在性能上更具优势。