uv: 一个极快的python包管理器

uv宣传自己是下一代python包管理器,具有极快的速度。它的功能覆盖了包安装、依赖解析、虚拟环境管理等。与其他包管理器能够达到的功能类似,但是在使用上有一些略微的区别。

Getting Started

首先介绍基础使用流程。第一步需要参考官方文档Installation | uv进行uv的安装。

有两种安装方式:

  • 第一种是直接安装系统级的uv
  • 另一种是利用conda来管理python的版本,然后在conda虚拟环境中利用pip install uv来安装uv

uv可以进行python的版本管理:

1
2
3
4
5
uv python list          # 查看安装的python

uv python install # 安装最新版的python

uv python install 3.12 # 安装特定版本的python

uv提供运行py脚本的功能,uv run xxx.py类似于python xxx.py,不过它提供了更多的功能:

1
2
3
uv run example.py  # 运行py脚本

uv run --with rich example.py # 运行需要有额外依赖项的脚本

Work on Project

uv还支持管理python项目,并且与它有很好的集成。

1
uv init <project-name>  # 初始化项目

初始化后的python项目主要包括如下文件结构:

1
2
3
4
5
6
7
8
9
10
.
├── .venv # uv管理的项目虚拟环境
│   ├── bin
│   ├── lib
│   └── pyvenv.cfg
├── .python-version
├── README.md
├── main.py
├── pyproject.toml # 项目元数据
└── uv.lock # 跨平台的lock文件,其中包含有关项目依赖项的确切解析版本(人类可读的toml文件,但是应该由uv管理,不应该手动编辑)

项目依赖管理操作包括:

1
2
3
4
5
6
7
8
9
10
11
12
# 添加或者删除依赖,与手动修改pyproject.toml 
# Specify a version constraint
uv add 'requests==2.31.0'
# Add a git dependency
uv add git+https://github.com/psf/requests
# Delete dependency
uv remove requests

# 升级依赖
uv lock --upgrade-package requests

# 以上操作都会修改pyproject.toml和uv.lock,同时自动更新环境中的版本信息

在项目中运行脚本也可以直接使用uv run,它会自动激活项目环境。建议不要直接使用uv pip install安装依赖。对于项目依赖项,则通过uv add或者uv remove来完成配置,对于一次性要求,则可以使用uvx或者uv run --with来完成。

如果需要复现其他人的项目,则可以通过uv sync来完成。


uv: 一个极快的python包管理器
https://evernorif.github.io/2025/09/22/uv-一个极快的python包管理器/
作者
EverNorif
发布于
2025年9月22日
许可协议