用 uv 管 Python 环境:一份最小工作流 技术 2026.10.12 技术

用 uv 管 Python 环境:一份最小工作流

从创建项目、添加依赖到运行脚本,记录一套不折腾的 uv 日常用法。

本文目录

这两年 Python 环境管理最明显的变化,是 uv 把「建环境、装包、锁版本、跑脚本」收进了一个命令里。

这篇只记我日常用到的部分,不展开原理。

安装

bash
curl -LsSf https://astral.sh/uv/install.sh | sh

安装后确认:

bash
uv --version
uv python list

新建项目

bash
uv init my-project
cd my-project

会得到 pyproject.toml 和一个 .python-version。如果不想用默认的 Python 版本:

bash
uv python install 3.12
uv python pin 3.12

添加依赖

bash
uv add requests httpx
uv add --dev pytest ruff

uv add 会同时更新 pyproject.toml 和 uv.lock。提交时两个都进版本库。

运行

bash
uv run python main.py
uv run pytest
uv run ruff check .

uv run 会自动确保环境与 lock 文件一致,不需要先手动激活虚拟环境。

同步与升级

bash
uv sync                 # 按 lock 文件同步环境
uv lock --upgrade       # 升级依赖并重新锁定
uv tree                 # 查看依赖树

一个够用的 pyproject

pyproject.toml
[project]
name = "my-project"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
    "httpx>=0.27",
    "requests>=2.32",
]

[dependency-groups]
dev = [
    "pytest>=8.0",
    "ruff>=0.6",
]

小结

如果只是写脚本,uv run script.py 已经足够。需要长期维护的项目,再把 lock 文件和 pyproject.toml 一起认真管理。

搜索本站

输入关键词开始搜索。支持中文分词,不支持拼音。