Python的UV工具介绍
UV(Ultra-Violet)是Python生态中一款新兴的轻量级包管理工具,旨在替代pip和pip-tools,提供更快的依赖解析与安装速度,支持多平台和锁定文件机制。
假设你的机器上只有:
Python 3.13执行:
uv init my-api --python 3.15uv 会:
- 创建项目目录
- 生成
pyproject.toml - 生成
.python-version
类似:
[project] name = "my-api" requires-python = ">=3.15".python-version 3.15此时通常还不会检查本机是否安装了 3.15。
真正需要 Python 3.15 的时候是在后面执行:
uv sync或者:
uv run python这时 uv 会:
- 查找本地是否有 3.15
- 没有的话自动下载 3.15
- 创建
.venv
例如:
Downloading cpython-3.15.x Creating virtual environment... Installed packages...整个过程通常是自动完成的。
一个完整例子
假设全新机器:
系统只有 Python 3.13执行:
uv init my-api --python 3.15 cd my-api uv add "fastapi[standard]" uv sync当uv sync发现:
需要 Python 3.15 本机没有会自动下载:
cpython-3.15.x然后创建:
my-api/ ├── .venv ├── .python-version ├── pyproject.toml └── uv.lock此时:
uv run python --version输出:
Python 3.15.x唯一容易报错的情况
如果你显式禁止下载:
uv sync --no-python-downloads或者配置了:
python-downloads = "never"那么本机没有 3.15 时会报错:
No interpreter found for Python 3.15所以正常情况下:
uv init my-api --python 3.15即使电脑上没有 Python 3.15,也不会有问题;等到uv sync时,uv 会自动帮你安装对应版本的 Python。