Python包管理工具uv使用教程

一、uv简介

uv 是由 Astral(前身为 Basis)团队开发的 Python 包安装器和解析器,完全使用 Rust 语言编写。与传统 Python 工具不同,uv 将多个工具的功能整合到一个高性能的解决方案中,旨在提供更现代、更高效的 Python 开发体验。

底层技术原理

uv 之所以能够实现显著的性能提升,主要基于几个关键技术:

Rust 实现:利用 Rust 语言的内存安全和高性能特性,避免了 Python 自身的解释开销

并行处理:在依赖解析和包下载安装过程中大量使用并行处理

优化的缓存策略:智能缓存机制减少重复下载和编译

零拷贝设计:减少内存使用和系统调用

编译优化:对于需要编译的包,采用更高效的编译策略

二 UV的安装

复制代码
pip install uv
#查看UV版本
uv version
创建环境:
uv venv .venv                # 默认创建到.venv目录
uv venv --python 3.11.4      # 指定Python版本:cite[2]:cite[8]

激活环境:
.venv\Scripts\activate


在工作目录中初始化一个项目:
uv init

UV 将创建以下文件:

├── .python-version

├── README.md

├── main.py

└── pyproject.tom

常用命令

操作 命令
初始化项目 uv init
创建目录并初始化项目 uv init project_name
创建虚拟环境 uv venv(自动创建 .venv
激活虚拟环境 Windows: .venv\Scripts\activate Linux/macOS: source .venv/bin/activate
删除虚拟环境 删除 .venv/ 文件夹
安装依赖 uv pip install requests
升级依赖 uv pip install --upgrade requests
卸载依赖 uv pip uninstall requests
冻结依赖 uv pip freeze > requirements.txt
使用锁文件安装 uv pip sync(读取 uv.lock
生成锁文件 uv pip compile(从 requirements.in
命令 描述
run 运行命令或脚本
init 创建一个新项目
add 向项目中添加依赖项
remove 从项目中移除依赖项
sync 更新项目的环境
lock 更新项目的锁定文件
export 将项目的锁定文件导出为其他格式
tree 显示项目的依赖树
tool 运行和安装由 Python 包提供的命令
python 管理 Python 版本和安装
pip 使用兼容 pip 的接口管理 Python 包
venv 创建虚拟环境
build 将 Python 包构建为源代码分发包和 wheels
publish 将分发包上传到索引
cache 管理 uv 的缓存
self 管理 uv 可执行文件
version 显示 uv 的版本
generate-shell-completion 生成 shell 自动补全脚本
help 显示某个命令的文档