uv / uvx

名称、版本与用途

  • 名称:uv、uvx
  • 当前版本:0.11.6
  • 路径:~/.local/bin/uv、~/.local/bin/uvx
  • 用途:Python 项目、依赖、锁文件、Python 版本和 CLI 工具管理。
  • uvx 等价于 uv tool run,适合一次性运行 Python CLI。

基本语法(Synopsis)

uv [GLOBAL_OPTIONS] <COMMAND> [ARGS]
uvx [OPTIONS] TOOL [TOOL_ARGS]

[] 表示可选项,... 表示可重复;大写名称表示需要替换的参数。

当前安装与更新

当前来自本地 uv-offline bundle 的官方预编译二进制,不属于 dpkg。

当前构建支持自更新:

uv self update --dry-run
uv self update

离线环境可重新生成 uv bundle,校验官方 release 后替换 uv 和 uvx。如果安装方式禁用了 self-update,应使用对应包管理器或 bundle 更新。

当前 uv 工具

  • Cookiecutter 2.7.1
  • git-filter-repo 2.47.0
  • Ruff 0.15.0

基本功能与推荐用法

uv init my-project
uv add requests
uv add --dev pytest ruff
uv sync
uv lock
uv run pytest
uv python install 3.13
uvx ruff check .
uv tool install cookiecutter
uv tool upgrade --all

选择原则:

  • 项目命令需要访问项目环境:uv run。
  • 偶尔运行一个独立 CLI:uvx。
  • 需要长期保留命令:uv tool install。
  • 项目依赖变更使用 uv add/remove,并提交 pyproject.toml 与 uv.lock。

不要使用系统 pip 修改 Ubuntu 管理的 Python。

示例中的选项、参数与子命令

本表解释本页示例实际出现的选项、参数、子命令及必要的辅助命令语法。

语法元素含义
self update更新 uv 自身。
--dry-run只展示将执行的操作,不实际修改。
init PATH在 PATH 初始化项目。
add PACKAGE向项目添加依赖。
--dev把依赖加入开发依赖组。
sync按锁文件同步项目环境。
lock生成或更新锁文件。
run COMMAND在项目环境中运行命令。
python install VERSION安装由 uv 管理的 Python 版本。
uvx TOOL在临时隔离环境运行 Python CLI 工具。
tool install TOOL持久安装 Python CLI 工具。
tool upgrade TOOL升级已安装工具。
--all对全部适用对象执行操作。

官方资料