uv 精简使用教程

14 阅读3分钟

uv — 由 Rust 编写的极速 Python 包管理器,速度比 pip 快 10-100 倍。


一、安装 uv

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# 通过 pip 安装(如果你更习惯)
pip install uv

# 通过 Homebrew 安装
brew install uv

验证安装:

uv --version

二、包管理(对标 pip)

安装包

uv pip install requests

等同于 pip install requests

安装指定版本

uv pip install requests==2.31.0

等同于 pip install requests==2.31.0

批量安装依赖

uv pip install -r requirements.txt

等同于 pip install -r requirements.txt

卸载包

uv pip uninstall requests

等同于 pip uninstall requests

查看已安装的包

uv pip list

等同于 pip list

查看包详情

uv pip show requests

等同于 pip show requests

导出依赖

uv pip freeze > requirements.txt

等同于 pip freeze > requirements.txt

升级包

uv pip install --upgrade requests

等同于 pip install --upgrade requests


三、虚拟环境管理(对标 python -m venv)

创建虚拟环境

uv venv

等同于 python -m venv .venv,默认在当前目录创建 .venv

指定目录 / Python 版本

uv venv myenv --python 3.12

等同于 python3.12 -m venv myenv

激活虚拟环境

# macOS / Linux
source .venv/bin/activate

# Windows
.venv\Scripts\activate

激活方式和传统 venv 一样,uv 不改变这一步


四、项目管理(uv 独有,对标 pip + venv + pip-tools 组合)

初始化项目

uv init myproject
cd myproject

pip 没有对应功能,类似 poetry init

添加依赖

uv add requests
uv add "flask>=3.0"

pip 没有对应功能,类似 poetry add requests,会自动写入 pyproject.toml 并锁定版本

移除依赖

uv remove requests

pip 没有对应功能,类似 poetry remove requests

同步依赖(按锁文件安装)

uv sync

等同于 pip install -r requirements.txt,但基于 uv.lock 精确锁定

运行脚本

uv run python main.py
uv run flask run

等同于先激活虚拟环境再 python main.py,uv 会自动处理环境


五、Python 版本管理(对标 pyenv)

安装 Python

uv python install 3.12

等同于 pyenv install 3.12

查看可用版本

uv python list

等同于 pyenv versions

固定项目 Python 版本

uv python pin 3.12

等同于 pyenv local 3.12,会生成 .python-version 文件


六、一次性运行工具(对标 pipx)

uv tool run ruff check .
# 或简写
uvx ruff check .

等同于 pipx run ruff check .,无需安装即可运行命令行工具

全局安装工具

uv tool install ruff

等同于 pipx install ruff


七、常用技巧速查

操作uv 命令pip 等价
安装包uv pip install pkgpip install pkg
卸载包uv pip uninstall pkgpip uninstall pkg
列出包uv pip listpip list
导出依赖uv pip freezepip freeze
创建虚拟环境uv venvpython -m venv .venv
初始化项目uv init(无)
添加依赖uv add pkg(无,类似 poetry add)
同步依赖uv syncpip install -r
运行脚本uv run python x.pypython x.py
安装 Pythonuv python install 3.12(无,类似 pyenv)
运行工具uvx tool(无,类似 pipx run)

八、项目文件结构说明

使用 uv init 后,项目中会出现以下关键文件:

文件说明
pyproject.toml项目配置和依赖声明(uv add 自动维护)
uv.lock精确锁定文件(自动生成,提交到 Git)
.python-version固定 Python 版本(uv python pin 生成)
.venv/虚拟环境目录(加入 .gitignore