跳转至

uv pip

使用与 pip 兼容的接口管理 Python 包

Usage

uv pip [OPTIONS] <COMMAND>

Commands

uv pip compile

requirements.in 文件编译为 requirements.txtpylock.toml 文件

uv pip sync

使用 requirements.txtpylock.toml 文件同步环境

uv pip install

将包安装到环境中

uv pip uninstall

从环境中卸载包

uv pip freeze

以 requirements 格式列出环境中已安装的包

uv pip list

以表格格式列出环境中已安装的包

uv pip show

显示一个或多个已安装包的信息

uv pip tree

显示环境的依赖树

uv pip check

验证已安装的包是否具有兼容的依赖

uv pip compile

requirements.in 文件编译为 requirements.txtpylock.toml 文件

Usage

uv pip compile [OPTIONS] <SRC_FILE|--group <GROUP>>

Arguments

SRC_FILE

包含指定文件中列出的包。

支持以下格式:requirements.txt、带有内联元数据的 .py 文件、pylock.tomlpyproject.tomlsetup.pysetup.cfg

如果提供的是 pyproject.tomlsetup.pysetup.cfg 文件,uv 将提取相关项目的依赖要求。

如果提供 -,则从标准输入读取依赖要求。

requirements 文件及其中的依赖要求顺序用于确定解析过程中的优先级。

Options

--all-extras

包含所有可选依赖。

仅适用于 pyproject.tomlsetup.pysetup.cfg 源。

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机的非安全连接。

可以多次提供。

期望接收主机名(如 localhost)、主机-端口对(如 localhost:8080)或 URL(如 https://localhost)。

警告:此列表中的主机将不会根据系统证书存储进行验证。仅在具有已验证来源的安全网络中使用 --allow-insecure-host,因为它会绕过 SSL 验证,可能使您面临中间人攻击(MITM)的风险。

也可以通过 UV_INSECURE_HOST 环境变量设置。

--annotation-style annotation-style

输出文件中包含的注解注释的样式,用于指示每个包的来源。

默认为 split

可选值:

  • line: 在单行中以逗号分隔渲染注解
  • split: 每个注解独占一行渲染
--build-constraints, --build-constraint, -b build-constraints

构建源代码分发包时,使用给定的 requirements 文件来约束构建依赖。

约束文件(constraints files)是类似 requirements.txt 的文件,仅控制所安装依赖的版本。但是,在约束文件中包含某个包不会触发该包的安装。

也可以通过 UV_BUILD_CONSTRAINT 环境变量设置。

--cache-dir cache-dir

缓存目录的路径。

默认值为 $XDG_CACHE_HOME/uv$HOME/.cache/uv(macOS 和 Linux),以及 %LOCALAPPDATA%\uv\cache(Windows)。

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv 在写入终端时会自动检测颜色支持。

可选值:

  • auto: 仅在输出到支持颜色的终端或 TTY 时启用彩色输出
  • always: 无论检测到的环境如何,始终启用彩色输出
  • never: 禁用彩色输出
--config-file config-file

用于配置的 uv.toml 文件路径。

虽然 uv 配置可以包含在 pyproject.toml 文件中,但在此上下文中不允许。

也可以通过 UV_CONFIG_FILE 环境变量设置。

--config-setting, --config-settings, -C config-setting

传递给 PEP 517 构建后端(build backend)的设置,以 KEY=VALUE 对的形式指定

--config-settings-package, --config-settings-package config-settings-package

为特定包传递给 PEP 517 构建后端(build backend)的设置,以 PACKAGE:KEY=VALUE 对的形式指定

--constraints, --constraint, -c constraints

使用给定的 requirements 文件来约束版本。

约束文件(constraints files)是类似 requirements.txt 的文件,仅控制所安装依赖的版本。但是,在约束文件中包含某个包不会触发该包的安装。

这相当于 pip 的 --constraint 选项。

也可以通过 UV_CONSTRAINT 环境变量设置。

--custom-compile-command custom-compile-command

要包含在 uv pip compile 生成的输出文件顶部的头部注释。

用于反映包装了 uv pip compile 的自定义构建脚本和命令。

也可以通过 UV_CUSTOM_COMPILE_COMMAND 环境变量设置。

--default-index default-index

默认包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --index 标志指定的所有其他索引。

也可以通过 UV_DEFAULT_INDEX 环境变量设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径将以给定目录为基准进行解析。

参见 --project 仅更改项目根目录。

也可以通过 UV_WORKING_DIR 环境变量设置。

--emit-build-options

在生成的输出文件中包含 --no-binary--only-binary 条目

在生成的输出文件中包含 --find-links 条目

--emit-index-annotation

在输出文件中包含指示用于解析每个包的索引的注释注解(例如 # from https://pypi.org/simple

--emit-index-url

在生成的输出文件中包含 --index-url--extra-index-url 条目

--exclude-newer exclude-newer

将候选包限制为在给定日期之前上传的版本。

日期与每个单独分发制品(distribution artifact)的上传时间(即每个文件上传到包索引的时间)进行比较,而非包版本的发布日期。

接受 RFC 3339 时间戳(例如 2006-12-02T02:07:43Z)、相同格式的本地日期(例如 2006-12-02,基于系统配置的时区解析)、"友好"持续时间(例如 24 hours1 week30 days)或 ISO 8601 持续时间(例如 PT24HP7DP30D)。

持续时间不遵循本地时区语义,始终按固定秒数计算,假设一天为 24 小时(例如,忽略夏令时转换)。不允许使用月和年等日历单位。

也可通过 UV_EXCLUDE_NEWER 环境变量设置。

--exclude-newer-package exclude-newer-package

将特定包的候选版本限制为在给定日期之前上传的版本。

接受 PACKAGE=DATE 格式的包-日期对,其中 DATE 为 RFC 3339 时间戳(例如 2006-12-02T02:07:43Z)、相同格式的本地日期(例如 2006-12-02,基于系统配置的时区解析)、"友好"持续时间(例如 24 hours1 week30 days)或 ISO 8601 持续时间(例如 PT24HP7DP30D)。

持续时间不遵循本地时区语义,始终按固定秒数计算,假设一天为 24 小时(例如,忽略夏令时转换)。不允许使用月和年等日历单位。

可为不同包多次提供。

--excludes, --exclude excludes

使用给定的 requirements 文件从解析中排除包。

排除文件是类似 requirements.txt 的文件,指定要从解析中排除的包。当包被排除时,它将完全从依赖列表中省略,并且其自身的依赖关系将在解析阶段被忽略。排除是无条件的,即忽略 requirement 版本说明符和标记(markers);提供的文件中列出的任何包都将从所有已解析环境中省略。

也可通过 UV_EXCLUDE 环境变量设置。

--extra extra

包含来自指定 extra 名称的可选依赖;可多次提供。

仅适用于 pyproject.tomlsetup.pysetup.cfg 源。

--extra-index-url extra-index-url

(已弃用:请改用 --index)除 --index-url 之外要使用的额外包索引 URL。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --index-url 指定的索引(默认为 PyPI)。当提供多个 --extra-index-url 标志时,优先级按先后顺序递减。

也可通过 UV_EXTRA_INDEX_URL 环境变量设置。

在注册表索引之外,搜索候选分发包的额外位置。

如果提供的是路径,目标必须是一个目录,其顶层包含作为 wheel 文件(.whl)或源代码分发包(例如 .tar.gz.zip)的包。

如果提供的是 URL,页面必须包含一个扁平列表,其中包含符合上述格式的包文件链接。

也可通过 UV_FIND_LINKS 环境变量设置。

--fork-strategy fork-strategy

在跨 Python 版本和平台选择给定包的多个版本时使用的策略。

默认情况下,uv 会为每个受支持的 Python 版本(requires-python)优化选择每个包的最新版本,同时最小化跨平台选择的版本数量。

fewest 策略下,uv 将最小化每个包选择的版本数量,优先选择与更广泛受支持的 Python 版本或平台兼容的旧版本。

也可通过 UV_FORK_STRATEGY 环境变量设置。

可选值:

  • fewest: 优化选择每个包的最少版本数。如果旧版本与更广泛的受支持 Python 版本或平台兼容,则可能会优先选择旧版本
  • requires-python: 优化选择每个受支持 Python 版本的每个包的最新支持版本
--format format

解析结果应输出的格式。

支持 requirements.txtpylock.toml(PEP 751)两种输出格式。

uv 将根据输出文件的扩展名推断输出格式(如果提供了输出文件)。否则,默认为 requirements.txt

可选值:

  • requirements.txt: 以 requirements.txt 格式导出
  • pylock.toml: 以 pylock.toml 格式导出
--generate-hashes

在输出文件中包含分发哈希值

--group group

从给定的 pyproject.toml 安装指定的依赖组。

如果未提供路径,则使用工作目录中的 pyproject.toml

可多次提供。

--help, -h

显示此命令的简洁帮助信息

--index index

解析依赖时使用的 URL,作为默认索引的补充。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --default-index 指定的索引(默认为 PyPI)。当提供多个 --index 标志时,优先级按先后顺序递减。

不支持将索引名称作为值。相对路径必须通过 ./../(Unix 上)或 .\\..\\./../(Windows 上)与索引名称进行区分。

也可通过 UV_INDEX 环境变量设置。

--index-strategy index-strategy

针对多个索引 URL 进行解析时使用的策略。

默认情况下,uv 会在第一个包含给定包的索引处停止,并将解析范围限制为在该第一个索引(first-index)中存在的包。这可以防止"依赖混淆"攻击,即攻击者可以在备用索引上以相同名称上传恶意包。

也可通过 UV_INDEX_STRATEGY 环境变量设置。

可选值:

  • first-index: 仅使用第一个返回给定包名匹配的索引的结果
  • unsafe-first-match: 搜索所有索引中的每个包名,在切换到下一个索引之前耗尽第一个索引的版本
  • unsafe-best-match: 搜索所有索引中的每个包名,优先选择找到的"最佳"版本。如果一个包版本存在于多个索引中,则仅查看第一个索引的条目
--index-url, -i index-url

(已弃用:请改用 --default-index)Python 包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --extra-index-url 标志指定的所有其他索引。

也可通过 UV_INDEX_URL 环境变量设置。

--keyring-provider keyring-provider

尝试使用 keyring 对索引 URL 进行身份验证。

目前仅支持 --keyring-provider subprocess,该选项配置 uv 使用 keyring CLI 来处理身份验证。

默认为 disabled

也可通过 UV_KEYRING_PROVIDER 环境变量设置。

可选值:

  • disabled: 不使用 keyring 进行凭据查找
  • subprocess: 使用 keyring 命令进行凭据查找

从全局缓存安装包时使用的方法。

此选项仅在构建源代码分发包时使用。

默认在 macOS 和 Linux 上为 clone(也称为写时复制,Copy-on-Write),在 Windows 上为 hardlink

警告:不建议使用 symlink 链接模式,因为它会在缓存和目标环境之间创建紧密耦合。例如,清除缓存(uv cache clean)将通过移除底层源文件来破坏所有已安装的包。请谨慎使用 symlink。

也可通过 UV_LINK_MODE 环境变量设置。

可选值:

  • clone: 从源克隆(即写时复制)包到目标
  • copy: 从源复制包到目标
  • hardlink: 从源硬链接包到目标
  • symlink: 从源符号链接包到目标
--managed-python

要求使用 uv 管理的 Python 版本 [env: UV_MANAGED_PYTHON=]

默认情况下,uv 优先使用其管理的 Python 版本。但是,如果没有安装 uv 管理的 Python 版本,则会使用系统 Python 版本。此选项禁用系统 Python 版本的使用。

--no-annotate

排除指示每个包来源的注释注解

--no-binary no-binary

不安装预构建的 wheel。

给定的包将从源代码构建并安装。解析器仍将使用预构建的 wheel 来提取包元数据(如果可用)。

可以指定多个包。使用 :all: 禁用所有包的二进制文件。使用 :none: 清除之前指定的包。

--no-build

不构建源代码分发包。

启用后,解析过程将不会运行任意 Python 代码。已构建的源代码分发包的缓存 wheel 将被重用,但需要构建分发包的操作将报错退出。

--only-binary :all: 的别名。

--no-build-isolation

构建源代码分发包时禁用隔离环境。

假定 PEP 518 指定的构建依赖已安装。

也可通过 UV_NO_BUILD_ISOLATION 环境变量设置。

--no-build-isolation-package no-build-isolation-package

为特定包构建源代码分发包时禁用隔离。

假定这些包的 PEP 518 指定的构建依赖已安装。

--no-cache, --no-cache-dir, -n

避免读取或写入缓存,而是在操作期间使用临时目录

也可通过 UV_NO_CACHE 环境变量设置。

--no-deps

忽略包依赖,仅将命令行中显式列出的包添加到生成的 requirements 文件中

--no-emit-package, --unsafe-package no-emit-package

指定要从输出解析结果中省略的包。其依赖仍会包含在解析结果中。等效于 pip-compile 的 --unsafe-package 选项

--no-header

排除生成的输出文件顶部的注释头部

--no-index

忽略注册表索引(例如 PyPI),转而依赖直接 URL 依赖和通过 --find-links 提供的依赖

--no-managed-python

禁用使用 uv 管理的 Python 版本 [env: UV_NO_MANAGED_PYTHON=]

uv 将改为在系统上搜索合适的 Python 版本。

--no-progress

隐藏所有进度输出 [env: UV_NO_PROGRESS=]

例如,spinner 或进度条。

--no-python-downloads

禁用自动下载 Python。

--no-sources

解析依赖时忽略 tool.uv.sources 表。用于基于符合标准的、可发布的包元数据进行锁定,而不是使用任何工作空间、Git、URL 或本地路径源

也可通过 UV_NO_SOURCES 环境变量设置。

--no-sources-package no-sources-package

不要为指定的包使用 tool.uv.sources 表中的源 [env: UV_NO_SOURCES_PACKAGE=]

--no-strip-extras

在输出文件中包含 extras。

默认情况下,uv 会去除 extras,因为由 extras 引入的任何包已经作为依赖直接包含在输出文件中。此外,使用 --no-strip-extras 生成的输出文件不能用作 installsync 调用中的约束文件。

--no-strip-markers

在输出文件中包含环境标记(environment markers)。

默认情况下,uv 会去除环境标记(environment markers),因为 compile 生成的解析结果仅保证对目标环境正确。

--offline

禁用网络访问 [env: UV_OFFLINE=]

禁用后,uv 将仅使用本地缓存数据和本地可用文件。

--only-binary only-binary

仅使用预构建的 wheel;不构建源代码分发包。

启用后,解析过程将不会运行来自给定包的代码。已构建的源代码分发包的缓存 wheel 将被重用,但需要构建分发包的操作将报错退出。

可以指定多个包。使用 :all: 禁用所有包的二进制文件。使用 :none: 清除之前指定的包。

--output-file, -o output-file

将编译后的 requirements 写入给定的 requirements.txtpylock.toml 文件。

如果文件已存在,则解析依赖时会优先使用现有版本,除非同时指定了 --upgrade

--overrides, --override overrides

使用给定的 requirements 文件覆盖版本。

覆盖文件是类似 requirements.txt 的文件,强制安装特定版本的 requirement,无论任何组成包声明的依赖如何,也无论这是否会被视为无效的解析结果。

约束是附加性的,即它们与组成包的 requirements 合并,而覆盖是绝对性的,即它们完全替换组成包的 requirements。

也可通过 UV_OVERRIDE 环境变量设置。

--prerelease prerelease

考虑预发布版本时使用的策略。

默认情况下,uv 将接受发布预发布版本的包的预发布版本,以及声明的版本说明符中包含显式预发布标记的第一方 requirement(if-necessary-or-explicit)。

也可通过 UV_PRERELEASE 环境变量设置。

可选值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: Allow pre-release versions if all versions of a package are pre-release
  • explicit: 允许版本要求中带有显式预发布标记的第一方包的预发布版本
  • if-necessary-or-explicit: 如果一个包的所有版本都是预发布版本,或者该包的版本要求中带有显式预发布标记,则允许预发布版本
--project project

在给定目录中发现项目。

所有 pyproject.tomluv.toml.python-version 文件将通过从项目根目录向上遍历目录树来发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 以完全更改工作目录。

此设置在 uv pip 接口中使用时无效。

也可通过 UV_PROJECT 环境变量设置。

--python, -p python

解析过程中使用的 Python 解释器。

需要 Python 解释器来构建源代码分发包,以在没有 wheel 时确定包元数据。

解释器还用于确定默认的最低 Python 版本,除非提供了 --python-version

此选项遵循 UV_PYTHON,但当通过环境变量设置时,会被 --python-version 覆盖。

参见 uv python 了解 Python 发现机制和支持的请求格式的详细信息。

--python-platform python-platform

要为其解析 requirements 的平台。

表示为"目标三元组"(target triple),一个描述目标平台的字符串,包含 CPU、供应商和操作系统名称,如 x86_64-unknown-linux-gnuaarch64-apple-darwin

当目标为 macOS(Darwin)时,默认最低版本为 13.0。使用 MACOSX_DEPLOYMENT_TARGET 指定不同的最低版本,例如 14.0

当目标为 iOS 时,默认最低版本为 13.0。使用 IPHONEOS_DEPLOYMENT_TARGET 指定不同的最低版本,例如 14.0

当目标为 Android 时,默认最低 Android API 级别为 24。使用 ANDROID_API_LEVEL 指定不同的最低版本,例如 26

可选值:

  • windows: x86_64-pc-windows-msvc 的别名,Windows 的默认目标
  • linux: x86_64-unknown-linux-gnu 的别名,Linux 的默认目标
  • macos: aarch64-apple-darwin 的别名,macOS 的默认目标
  • x86_64-pc-windows-msvc: 64 位 x86 Windows 目标
  • aarch64-pc-windows-msvc: ARM64 Windows 目标
  • i686-pc-windows-msvc: 32 位 x86 Windows 目标
  • x86_64-unknown-linux-gnu: x86 Linux 目标。等效于 x86_64-manylinux_2_28
  • aarch64-apple-darwin: 基于 ARM 的 macOS 目标,如 Apple Silicon 设备上所见
  • x86_64-apple-darwin: x86 macOS 目标
  • aarch64-unknown-linux-gnu: ARM64 Linux 目标。等效于 aarch64-manylinux_2_28
  • aarch64-unknown-linux-musl: ARM64 Linux 目标
  • x86_64-unknown-linux-musl: x86_64 Linux 目标
  • riscv64-unknown-linux: RISCV64 Linux 目标
  • x86_64-manylinux2014: x86_64 目标,适用于 manylinux2014 平台。等效于 x86_64-manylinux_2_17
  • x86_64-manylinux_2_17: x86_64 目标,适用于 manylinux_2_17 平台
  • x86_64-manylinux_2_28: x86_64 目标,适用于 manylinux_2_28 平台
  • x86_64-manylinux_2_31: x86_64 目标,适用于 manylinux_2_31 平台
  • x86_64-manylinux_2_32: x86_64 目标,适用于 manylinux_2_32 平台
  • x86_64-manylinux_2_33: x86_64 目标,适用于 manylinux_2_33 平台
  • x86_64-manylinux_2_34: x86_64 目标,适用于 manylinux_2_34 平台
  • x86_64-manylinux_2_35: x86_64 目标,适用于 manylinux_2_35 平台
  • x86_64-manylinux_2_36: x86_64 目标,适用于 manylinux_2_36 平台
  • x86_64-manylinux_2_37: x86_64 目标,适用于 manylinux_2_37 平台
  • x86_64-manylinux_2_38: x86_64 目标,适用于 manylinux_2_38 平台
  • x86_64-manylinux_2_39: x86_64 目标,适用于 manylinux_2_39 平台
  • x86_64-manylinux_2_40: x86_64 目标,适用于 manylinux_2_40 平台
  • aarch64-manylinux2014: ARM64 目标,适用于 manylinux2014 平台。等效于 aarch64-manylinux_2_17
  • aarch64-manylinux_2_17: ARM64 目标,适用于 manylinux_2_17 平台
  • aarch64-manylinux_2_28: ARM64 目标,适用于 manylinux_2_28 平台
  • aarch64-manylinux_2_31: ARM64 目标,适用于 manylinux_2_31 平台
  • aarch64-manylinux_2_32: ARM64 目标,适用于 manylinux_2_32 平台
  • aarch64-manylinux_2_33: ARM64 目标,适用于 manylinux_2_33 平台
  • aarch64-manylinux_2_34: ARM64 目标,适用于 manylinux_2_34 平台
  • aarch64-manylinux_2_35: ARM64 目标,适用于 manylinux_2_35 平台
  • aarch64-manylinux_2_36: ARM64 目标,适用于 manylinux_2_36 平台
  • aarch64-manylinux_2_37: ARM64 目标,适用于 manylinux_2_37 平台
  • aarch64-manylinux_2_38: ARM64 目标,适用于 manylinux_2_38 平台
  • aarch64-manylinux_2_39: ARM64 目标,适用于 manylinux_2_39 平台
  • aarch64-manylinux_2_40: ARM64 目标,适用于 manylinux_2_40 平台
  • aarch64-linux-android: ARM64 Android 目标
  • x86_64-linux-android: x86_64 Android 目标
  • wasm32-pyodide2024: wasm32 目标,使用 Pyodide 2024 平台。适用于 Python 3.12。参见 https://pyodide.org/en/stable/development/abi/312.html
  • wasm32-pyodide2025: wasm32 目标,使用 Pyodide 2025 平台。适用于 Python 3.13。参见 https://pyodide.org/en/stable/development/abi/313.html
  • arm64-apple-ios: iOS 设备的 ARM64 目标
  • arm64-apple-ios-simulator: iOS 模拟器的 ARM64 目标
  • x86_64-apple-ios-simulator: iOS 模拟器的 x86_64 目标
--python-version python-version

用于解析的 Python 版本。

例如,3.83.8.17

默认为用于解析的 Python 解释器版本。

定义已解析的 requirements 必须支持的最低 Python 版本。

如果省略了补丁版本,则假定最低补丁版本。例如,3.8 映射为 3.8.0

--quiet, -q

使用静默输出。

重复此选项(如 -qq)将启用静默模式,uv 将不会向 stdout 写入任何输出。

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--resolution resolution

在给定包需求的不同兼容版本之间进行选择时使用的策略。

默认情况下,uv 会使用每个包的最新兼容版本(highest)。

也可通过 UV_RESOLUTION 环境变量设置。

可选值:

  • highest: 解析每个包的最高兼容版本
  • lowest: 解析每个包的最低兼容版本
  • lowest-direct: 解析所有直接依赖的最低兼容版本,以及所有传递依赖的最高兼容版本
--system

将包安装到系统 Python 环境中。

默认情况下,uv 使用当前工作目录或任何父目录中的虚拟环境,回退到在 PATH 中搜索 Python 可执行文件。--system 选项指示 uv 避免使用虚拟环境中的 Python,并将搜索范围限制为系统路径。

也可通过 UV_SYSTEM_PYTHON 环境变量设置。

--system-certs

是否从平台的原生证书存储加载 TLS 证书 [env: UV_SYSTEM_CERTS=]

默认情况下,uv 使用捆绑的 Mozilla 根证书,这提高了可移植性和性能(尤其是在 macOS 上)。

但是,在某些情况下,您可能需要使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根(例如,用于强制代理)时。

--torch-backend torch-backend

获取 PyTorch 生态系统中软件包时使用的后端(例如,cpucu126auto)。

设置后,uv 将忽略为 PyTorch 生态系统中的包配置的索引 URL,而改用定义的后端。

For example, when set to cpu, uv will use the CPU-only PyTorch index; when set to cu126, uv will use the PyTorch index for CUDA 12.6.

auto 模式将尝试根据当前安装的 CUDA 驱动程序检测适当的 PyTorch 索引。

此选项为预览功能,可能在未来的任何版本中发生变化。

May also be set with the UV_TORCH_BACKEND environment variable.

可选值:

  • auto: Select the appropriate PyTorch index based on the operating system and CUDA driver version
  • cpu: Use the CPU-only PyTorch index
  • cu130: Use the PyTorch index for CUDA 13.0
  • cu129: Use the PyTorch index for CUDA 12.9
  • cu128: Use the PyTorch index for CUDA 12.8
  • cu126: Use the PyTorch index for CUDA 12.6
  • cu125: Use the PyTorch index for CUDA 12.5
  • cu124: Use the PyTorch index for CUDA 12.4
  • cu123: Use the PyTorch index for CUDA 12.3
  • cu122: Use the PyTorch index for CUDA 12.2
  • cu121: Use the PyTorch index for CUDA 12.1
  • cu120: Use the PyTorch index for CUDA 12.0
  • cu118: Use the PyTorch index for CUDA 11.8
  • cu117: Use the PyTorch index for CUDA 11.7
  • cu116: Use the PyTorch index for CUDA 11.6
  • cu115: Use the PyTorch index for CUDA 11.5
  • cu114: Use the PyTorch index for CUDA 11.4
  • cu113: Use the PyTorch index for CUDA 11.3
  • cu112: Use the PyTorch index for CUDA 11.2
  • cu111: Use the PyTorch index for CUDA 11.1
  • cu110: Use the PyTorch index for CUDA 11.0
  • cu102: Use the PyTorch index for CUDA 10.2
  • cu101: Use the PyTorch index for CUDA 10.1
  • cu100: Use the PyTorch index for CUDA 10.0
  • cu92: Use the PyTorch index for CUDA 9.2
  • cu91: Use the PyTorch index for CUDA 9.1
  • cu90: Use the PyTorch index for CUDA 9.0
  • cu80: Use the PyTorch index for CUDA 8.0
  • rocm7.2: Use the PyTorch index for ROCm 7.2
  • rocm7.1: Use the PyTorch index for ROCm 7.1
  • rocm7.0: Use the PyTorch index for ROCm 7.0
  • rocm6.4: Use the PyTorch index for ROCm 6.4
  • rocm6.3: Use the PyTorch index for ROCm 6.3
  • rocm6.2.4: Use the PyTorch index for ROCm 6.2.4
  • rocm6.2: Use the PyTorch index for ROCm 6.2
  • rocm6.1: Use the PyTorch index for ROCm 6.1
  • rocm6.0: Use the PyTorch index for ROCm 6.0
  • rocm5.7: Use the PyTorch index for ROCm 5.7
  • rocm5.6: Use the PyTorch index for ROCm 5.6
  • rocm5.5: Use the PyTorch index for ROCm 5.5
  • rocm5.4.2: Use the PyTorch index for ROCm 5.4.2
  • rocm5.4: Use the PyTorch index for ROCm 5.4
  • rocm5.3: Use the PyTorch index for ROCm 5.3
  • rocm5.2: Use the PyTorch index for ROCm 5.2
  • rocm5.1.1: Use the PyTorch index for ROCm 5.1.1
  • rocm4.2: Use the PyTorch index for ROCm 4.2
  • rocm4.1: Use the PyTorch index for ROCm 4.1
  • rocm4.0.1: Use the PyTorch index for ROCm 4.0.1
  • xpu: Use the PyTorch index for Intel XPU
--universal

Perform a universal resolution, attempting to generate a single requirements.txt output file that is compatible with all operating systems, architectures, and Python implementations.

在通用模式下,当前 Python 版本(或用户提供的 --python-version)将被视为下限。例如,--universal --python-version 3.7 将为 Python 3.7 及更高版本生成通用解析结果。

隐含 --no-strip-markers

--upgrade, -U

允许包升级,忽略任何现有输出文件中的固定版本。隐含 --refresh

--upgrade-group upgrade-group

Allow upgrades for all packages in a dependency group, ignoring pinned versions in any existing output file

--upgrade-package, -P upgrade-package

允许特定包的升级,忽略任何现有输出文件中的固定版本。隐含 --refresh-package

--verbose, -v

使用详细输出。

您可以使用 RUST_LOG 环境变量配置细粒度日志记录。(https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives

uv pip sync

使用 requirements.txtpylock.toml 文件同步环境。

同步环境时,任何未在 requirements.txtpylock.toml 文件中列出的包都将被移除。要保留额外包,请改用 uv pip install

输入文件假定为 pip compileuv export 操作的输出,其中包含所有传递依赖。如果文件中不存在传递依赖,则不会安装它们。使用 --strict 可在任何传递依赖缺失时发出警告。

Usage

uv pip sync [OPTIONS] <SRC_FILE>...

Arguments

SRC_FILE

Include the packages listed in the given files.

支持以下格式:requirements.txt、包含内联元数据的 .py 文件、pylock.tomlpyproject.tomlsetup.pysetup.cfg

如果提供了 pyproject.tomlsetup.pysetup.cfg 文件,uv 将提取相关项目的 requirements。

If - is provided, then requirements will be read from stdin.

Options

--all-extras

包含所有可选依赖。

仅适用于 pylock.tomlpyproject.tomlsetup.pysetup.cfg 源。

--allow-empty-requirements

Allow sync of empty requirements, which will clear the environment of all packages

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机的非安全连接。

可以多次提供。

期望接收主机名(如 localhost)、主机-端口对(如 localhost:8080)或 URL(如 https://localhost)。

警告:此列表中的主机将不会根据系统证书存储进行验证。仅在具有已验证来源的安全网络中使用 --allow-insecure-host,因为它会绕过 SSL 验证,可能使您面临中间人攻击(MITM)的风险。

也可以通过 UV_INSECURE_HOST 环境变量设置。

--break-system-packages

允许 uv 修改 EXTERNALLY-MANAGED 的 Python 安装。

警告:--break-system-packages 旨在用于持续集成(CI)环境中,当安装到由外部包管理器(如 apt)管理的 Python 安装中时。应谨慎使用,因为此类 Python 安装明确建议不要由其他包管理器(如 uv 或 pip)进行修改。

也可通过 UV_BREAK_SYSTEM_PACKAGES 环境变量设置。

--build-constraints, --build-constraint, -b build-constraints

构建源代码分发包时,使用给定的 requirements 文件来约束构建依赖。

约束文件(constraints files)是类似 requirements.txt 的文件,仅控制所安装依赖的版本。但是,在约束文件中包含某个包不会触发该包的安装。

也可以通过 UV_BUILD_CONSTRAINT 环境变量设置。

--cache-dir cache-dir

缓存目录的路径。

默认值为 $XDG_CACHE_HOME/uv$HOME/.cache/uv(macOS 和 Linux),以及 %LOCALAPPDATA%\uv\cache(Windows)。

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv 在写入终端时会自动检测颜色支持。

可选值:

  • auto: 仅在输出到支持颜色的终端或 TTY 时启用彩色输出
  • always: 无论检测到的环境如何,始终启用彩色输出
  • never: 禁用彩色输出
--compile-bytecode, --compile

安装后编译 Python 文件为字节码。

默认情况下,uv 不会将 Python(.py)文件编译为字节码(__pycache__/*.pyc);而是在首次导入模块时延迟编译。对于启动时间至关重要的用例,例如 CLI 应用程序和 Docker 容器,可以启用此选项,以较长的安装时间换取更快的启动时间。

启用后,uv 将处理整个 site-packages 目录(包括当前操作未修改的包)以保持一致性。与 pip 一样,它也会忽略错误。

也可通过 UV_COMPILE_BYTECODE 环境变量设置。

--config-file config-file

用于配置的 uv.toml 文件路径。

虽然 uv 配置可以包含在 pyproject.toml 文件中,但在此上下文中不允许。

也可以通过 UV_CONFIG_FILE 环境变量设置。

--config-setting, --config-settings, -C config-setting

传递给 PEP 517 构建后端(build backend)的设置,以 KEY=VALUE 对的形式指定

--config-settings-package, --config-settings-package config-settings-package

为特定包传递给 PEP 517 构建后端(build backend)的设置,以 PACKAGE:KEY=VALUE 对的形式指定

--constraints, --constraint, -c constraints

使用给定的 requirements 文件来约束版本。

约束文件(constraints files)是类似 requirements.txt 的文件,仅控制所安装依赖的版本。但是,在约束文件中包含某个包不会触发该包的安装。

这相当于 pip 的 --constraint 选项。

也可以通过 UV_CONSTRAINT 环境变量设置。

--default-index default-index

默认包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --index 标志指定的所有其他索引。

也可以通过 UV_DEFAULT_INDEX 环境变量设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径将以给定目录为基准进行解析。

参见 --project 仅更改项目根目录。

也可以通过 UV_WORKING_DIR 环境变量设置。

--dry-run

执行预演(dry run),即不实际安装任何内容,仅解析依赖并打印结果计划

--exclude-newer exclude-newer

将候选包限制为在给定日期之前上传的版本。

日期与每个单独分发制品(distribution artifact)的上传时间(即每个文件上传到包索引的时间)进行比较,而非包版本的发布日期。

接受 RFC 3339 时间戳(例如 2006-12-02T02:07:43Z)、相同格式的本地日期(例如 2006-12-02,基于系统配置的时区解析)、"友好"持续时间(例如 24 hours1 week30 days)或 ISO 8601 持续时间(例如 PT24HP7DP30D)。

持续时间不遵循本地时区语义,始终按固定秒数计算,假设一天为 24 小时(例如,忽略夏令时转换)。不允许使用月和年等日历单位。

也可通过 UV_EXCLUDE_NEWER 环境变量设置。

--exclude-newer-package exclude-newer-package

将特定包的候选版本限制为在给定日期之前上传的版本。

接受 PACKAGE=DATE 格式的包-日期对,其中 DATE 为 RFC 3339 时间戳(例如 2006-12-02T02:07:43Z)、相同格式的本地日期(例如 2006-12-02,基于系统配置的时区解析)、"友好"持续时间(例如 24 hours1 week30 days)或 ISO 8601 持续时间(例如 PT24HP7DP30D)。

持续时间不遵循本地时区语义,始终按固定秒数计算,假设一天为 24 小时(例如,忽略夏令时转换)。不允许使用月和年等日历单位。

可为不同包多次提供。

--extra extra

包含来自指定 extra 名称的可选依赖;可多次提供。

仅适用于 pylock.tomlpyproject.tomlsetup.pysetup.cfg 源。

--extra-index-url extra-index-url

(已弃用:请改用 --index)除 --index-url 之外要使用的额外包索引 URL。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --index-url 指定的索引(默认为 PyPI)。当提供多个 --extra-index-url 标志时,优先级按先后顺序递减。

也可通过 UV_EXTRA_INDEX_URL 环境变量设置。

在注册表索引之外,搜索候选分发包的额外位置。

如果提供的是路径,目标必须是一个目录,其顶层包含作为 wheel 文件(.whl)或源代码分发包(例如 .tar.gz.zip)的包。

如果提供的是 URL,页面必须包含一个扁平列表,其中包含符合上述格式的包文件链接。

也可通过 UV_FIND_LINKS 环境变量设置。

--group group

从给定的 pylock.tomlpyproject.toml 安装指定的依赖组。

如果未提供路径,则使用工作目录中的 pylock.tomlpyproject.toml

可多次提供。

--help, -h

显示此命令的简洁帮助信息

--index index

解析依赖时使用的 URL,作为默认索引的补充。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --default-index 指定的索引(默认为 PyPI)。当提供多个 --index 标志时,优先级按先后顺序递减。

不支持将索引名称作为值。相对路径必须通过 ./../(Unix 上)或 .\\..\\./../(Windows 上)与索引名称进行区分。

也可通过 UV_INDEX 环境变量设置。

--index-strategy index-strategy

针对多个索引 URL 进行解析时使用的策略。

默认情况下,uv 会在第一个包含给定包的索引处停止,并将解析范围限制为在该第一个索引(first-index)中存在的包。这可以防止"依赖混淆"攻击,即攻击者可以在备用索引上以相同名称上传恶意包。

也可通过 UV_INDEX_STRATEGY 环境变量设置。

可选值:

  • first-index: 仅使用第一个返回给定包名匹配的索引的结果
  • unsafe-first-match: 搜索所有索引中的每个包名,在切换到下一个索引之前耗尽第一个索引的版本
  • unsafe-best-match: 搜索所有索引中的每个包名,优先选择找到的"最佳"版本。如果一个包版本存在于多个索引中,则仅查看第一个索引的条目
--index-url, -i index-url

(已弃用:请改用 --default-index)Python 包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --extra-index-url 标志指定的所有其他索引。

也可通过 UV_INDEX_URL 环境变量设置。

--keyring-provider keyring-provider

尝试使用 keyring 对索引 URL 进行身份验证。

目前仅支持 --keyring-provider subprocess,该选项配置 uv 使用 keyring CLI 来处理身份验证。

默认为 disabled

也可通过 UV_KEYRING_PROVIDER 环境变量设置。

可选值:

  • disabled: 不使用 keyring 进行凭据查找
  • subprocess: 使用 keyring 命令进行凭据查找

从全局缓存安装包时使用的方法。

默认在 macOS 和 Linux 上为 clone(也称为写时复制,Copy-on-Write),在 Windows 上为 hardlink

警告:不建议使用 symlink 链接模式,因为它会在缓存和目标环境之间创建紧密耦合。例如,清除缓存(uv cache clean)将通过移除底层源文件来破坏所有已安装的包。请谨慎使用 symlink。

也可通过 UV_LINK_MODE 环境变量设置。

可选值:

  • clone: 从源克隆(即写时复制)包到目标
  • copy: 从源复制包到目标
  • hardlink: 从源硬链接包到目标
  • symlink: 从源符号链接包到目标
--managed-python

Require use of uv-managed Python versions [env: UV_MANAGED_PYTHON=]

默认情况下,uv 优先使用其管理的 Python 版本。但是,如果没有安装 uv 管理的 Python 版本,则会使用系统 Python 版本。此选项禁用系统 Python 版本的使用。

--no-allow-empty-requirements
--no-binary no-binary

不安装预构建的 wheel。

给定的包将从源代码构建并安装。解析器仍将使用预构建的 wheel 来提取包元数据(如果可用)。

可以指定多个包。使用 :all: 禁用所有包的二进制文件。使用 :none: 清除之前指定的包。

--no-break-system-packages
--no-build

不构建源代码分发包。

启用后,解析过程将不会运行任意 Python 代码。已构建的源代码分发包的缓存 wheel 将被重用,但需要构建分发包的操作将报错退出。

--only-binary :all: 的别名。

--no-build-isolation

构建源代码分发包时禁用隔离环境。

假定 PEP 518 指定的构建依赖已安装。

也可通过 UV_NO_BUILD_ISOLATION 环境变量设置。

--no-cache, --no-cache-dir, -n

避免读取或写入缓存,而是在操作期间使用临时目录

也可通过 UV_NO_CACHE 环境变量设置。

--no-index

忽略注册表索引(例如 PyPI),转而依赖直接 URL 依赖和通过 --find-links 提供的依赖

--no-managed-python

禁用使用 uv 管理的 Python 版本 [env: UV_NO_MANAGED_PYTHON=]

uv 将改为在系统上搜索合适的 Python 版本。

--no-progress

隐藏所有进度输出 [env: UV_NO_PROGRESS=]

例如,spinner 或进度条。

--no-python-downloads

禁用自动下载 Python。

--no-sources

解析依赖时忽略 tool.uv.sources 表。用于基于符合标准的、可发布的包元数据进行锁定,而不是使用任何工作空间、Git、URL 或本地路径源

也可通过 UV_NO_SOURCES 环境变量设置。

--no-sources-package no-sources-package

不要为指定的包使用 tool.uv.sources 表中的源 [env: UV_NO_SOURCES_PACKAGE=]

--no-verify-hashes

Disable validation of hashes in the requirements file.

默认情况下,uv 将验证 requirements 文件中任何可用的哈希值,但不会要求所有 requirement 都有关联的哈希值。要强制哈希验证,请使用 --require-hashes

May also be set with the UV_NO_VERIFY_HASHES environment variable.

--offline

禁用网络访问 [env: UV_OFFLINE=]

禁用后,uv 将仅使用本地缓存数据和本地可用文件。

--only-binary only-binary

仅使用预构建的 wheel;不构建源代码分发包。

启用后,解析过程将不会运行来自给定包的代码。已构建的源代码分发包的缓存 wheel 将被重用,但需要构建分发包的操作将报错退出。

可以指定多个包。使用 :all: 禁用所有包的二进制文件。使用 :none: 清除之前指定的包。

--prefix prefix

将包安装到指定目录下的 libbin 和其他顶层文件夹中,如同在该位置存在虚拟环境一样。

In general, prefer the use of --python to install into an alternate environment, as scripts and other artifacts installed via --prefix will reference the installing interpreter, rather than any interpreter added to the --prefix directory, rendering them non-portable.

与其他安装操作不同,此命令不需要发现现有 Python 环境,仅搜索用于包解析的 Python 解释器。如果找不到合适的 Python 解释器,uv 将安装一个。要禁用此行为,请添加 --no-python-downloads

--project project

在给定目录中发现项目。

所有 pyproject.tomluv.toml.python-version 文件将通过从项目根目录向上遍历目录树来发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 以完全更改工作目录。

此设置在 uv pip 接口中使用时无效。

也可通过 UV_PROJECT 环境变量设置。

--python, -p python

The Python interpreter into which packages should be installed.

By default, syncing requires a virtual environment. A path to an alternative Python can be provided, but it is only recommended in continuous integration (CI) environments and should be used with caution, as it can modify the system Python installation.

参见 uv python 了解 Python 发现机制和支持的请求格式的详细信息。

May also be set with the UV_PYTHON environment variable.

--python-platform python-platform

The platform for which requirements should be installed.

表示为"目标三元组"(target triple),一个描述目标平台的字符串,包含 CPU、供应商和操作系统名称,如 x86_64-unknown-linux-gnuaarch64-apple-darwin

当目标为 macOS(Darwin)时,默认最低版本为 13.0。使用 MACOSX_DEPLOYMENT_TARGET 指定不同的最低版本,例如 14.0

当目标为 iOS 时,默认最低版本为 13.0。使用 IPHONEOS_DEPLOYMENT_TARGET 指定不同的最低版本,例如 14.0

当目标为 Android 时,默认最低 Android API 级别为 24。使用 ANDROID_API_LEVEL 指定不同的最低版本,例如 26

WARNING: When specified, uv will select wheels that are compatible with the target platform; as a result, the installed distributions may not be compatible with the current platform. Conversely, any distributions that are built from source may be incompatible with the target platform, as they will be built for the current platform. The --python-platform option is intended for advanced use cases.

可选值:

  • windows: x86_64-pc-windows-msvc 的别名,Windows 的默认目标
  • linux: x86_64-unknown-linux-gnu 的别名,Linux 的默认目标
  • macos: aarch64-apple-darwin 的别名,macOS 的默认目标
  • x86_64-pc-windows-msvc: 64 位 x86 Windows 目标
  • aarch64-pc-windows-msvc: ARM64 Windows 目标
  • i686-pc-windows-msvc: 32 位 x86 Windows 目标
  • x86_64-unknown-linux-gnu: x86 Linux 目标。等效于 x86_64-manylinux_2_28
  • aarch64-apple-darwin: 基于 ARM 的 macOS 目标,如 Apple Silicon 设备上所见
  • x86_64-apple-darwin: x86 macOS 目标
  • aarch64-unknown-linux-gnu: ARM64 Linux 目标。等效于 aarch64-manylinux_2_28
  • aarch64-unknown-linux-musl: ARM64 Linux 目标
  • x86_64-unknown-linux-musl: x86_64 Linux 目标
  • riscv64-unknown-linux: RISCV64 Linux 目标
  • x86_64-manylinux2014: x86_64 目标,适用于 manylinux2014 平台。等效于 x86_64-manylinux_2_17
  • x86_64-manylinux_2_17: x86_64 目标,适用于 manylinux_2_17 平台
  • x86_64-manylinux_2_28: x86_64 目标,适用于 manylinux_2_28 平台
  • x86_64-manylinux_2_31: x86_64 目标,适用于 manylinux_2_31 平台
  • x86_64-manylinux_2_32: x86_64 目标,适用于 manylinux_2_32 平台
  • x86_64-manylinux_2_33: x86_64 目标,适用于 manylinux_2_33 平台
  • x86_64-manylinux_2_34: x86_64 目标,适用于 manylinux_2_34 平台
  • x86_64-manylinux_2_35: x86_64 目标,适用于 manylinux_2_35 平台
  • x86_64-manylinux_2_36: x86_64 目标,适用于 manylinux_2_36 平台
  • x86_64-manylinux_2_37: x86_64 目标,适用于 manylinux_2_37 平台
  • x86_64-manylinux_2_38: x86_64 目标,适用于 manylinux_2_38 平台
  • x86_64-manylinux_2_39: x86_64 目标,适用于 manylinux_2_39 平台
  • x86_64-manylinux_2_40: x86_64 目标,适用于 manylinux_2_40 平台
  • aarch64-manylinux2014: ARM64 目标,适用于 manylinux2014 平台。等效于 aarch64-manylinux_2_17
  • aarch64-manylinux_2_17: ARM64 目标,适用于 manylinux_2_17 平台
  • aarch64-manylinux_2_28: ARM64 目标,适用于 manylinux_2_28 平台
  • aarch64-manylinux_2_31: ARM64 目标,适用于 manylinux_2_31 平台
  • aarch64-manylinux_2_32: ARM64 目标,适用于 manylinux_2_32 平台
  • aarch64-manylinux_2_33: ARM64 目标,适用于 manylinux_2_33 平台
  • aarch64-manylinux_2_34: ARM64 目标,适用于 manylinux_2_34 平台
  • aarch64-manylinux_2_35: ARM64 目标,适用于 manylinux_2_35 平台
  • aarch64-manylinux_2_36: ARM64 目标,适用于 manylinux_2_36 平台
  • aarch64-manylinux_2_37: ARM64 目标,适用于 manylinux_2_37 平台
  • aarch64-manylinux_2_38: ARM64 目标,适用于 manylinux_2_38 平台
  • aarch64-manylinux_2_39: ARM64 目标,适用于 manylinux_2_39 平台
  • aarch64-manylinux_2_40: ARM64 目标,适用于 manylinux_2_40 平台
  • aarch64-linux-android: ARM64 Android 目标
  • x86_64-linux-android: x86_64 Android 目标
  • wasm32-pyodide2024: wasm32 目标,使用 Pyodide 2024 平台。适用于 Python 3.12。参见 https://pyodide.org/en/stable/development/abi/312.html
  • wasm32-pyodide2025: wasm32 目标,使用 Pyodide 2025 平台。适用于 Python 3.13。参见 https://pyodide.org/en/stable/development/abi/313.html
  • arm64-apple-ios: iOS 设备的 ARM64 目标
  • arm64-apple-ios-simulator: iOS 模拟器的 ARM64 目标
  • x86_64-apple-ios-simulator: iOS 模拟器的 x86_64 目标
--python-version python-version

The minimum Python version that should be supported by the requirements (e.g., 3.7 or 3.7.9).

If a patch version is omitted, the minimum patch version is assumed. For example, 3.7 is mapped to 3.7.0.

--quiet, -q

使用静默输出。

重复此选项(如 -qq)将启用静默模式,uv 将不会向 stdout 写入任何输出。

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

Reinstall all packages, regardless of whether they're already installed. Implies --refresh

--reinstall-package reinstall-package

Reinstall a specific package, regardless of whether it's already installed. Implies --refresh-package

--require-hashes

Require a matching hash for each requirement.

默认情况下,uv 将验证 requirements 文件中任何可用的哈希值,但不会要求所有 requirement 都有关联的哈希值。

When --require-hashes is enabled, all requirements must include a hash or set of hashes, and all requirements must either be pinned to exact versions (e.g., ==1.0.0), or be specified via direct URL.

哈希检查模式引入了许多额外的约束:

  • Git dependencies are not supported. - Editable installations are not supported. - Local dependencies are not supported, unless they point to a specific wheel (.whl) or source archive (.zip, .tar.gz), as opposed to a directory.

May also be set with the UV_REQUIRE_HASHES environment variable.

--strict

安装完成后验证 Python 环境,检测包含缺失依赖或其他问题的包

--system

Install packages into the system Python environment.

默认情况下,uv 安装到当前工作目录或任何父目录中的虚拟环境。--system 选项指示 uv 改为使用系统 PATH 中找到的第一个 Python。

警告:--system 旨在用于持续集成(CI)环境中,应谨慎使用,因为它可能会修改系统 Python 安装。

May also be set with the UV_SYSTEM_PYTHON environment variable.

--system-certs

是否从平台的原生证书存储加载 TLS 证书 [env: UV_SYSTEM_CERTS=]

默认情况下,uv 使用捆绑的 Mozilla 根证书,这提高了可移植性和性能(尤其是在 macOS 上)。

但是,在某些情况下,您可能需要使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根(例如,用于强制代理)时。

--target, -t target

Install packages into the specified directory, rather than into the virtual or system Python environment. The packages will be installed at the top-level of the directory.

与其他安装操作不同,此命令不需要发现现有 Python 环境,仅搜索用于包解析的 Python 解释器。如果找不到合适的 Python 解释器,uv 将安装一个。要禁用此行为,请添加 --no-python-downloads

--torch-backend torch-backend

获取 PyTorch 生态系统中软件包时使用的后端(例如,cpucu126auto)。

设置后,uv 将忽略为 PyTorch 生态系统中的包配置的索引 URL,而改用定义的后端。

For example, when set to cpu, uv will use the CPU-only PyTorch index; when set to cu126, uv will use the PyTorch index for CUDA 12.6.

auto 模式将尝试根据当前安装的 CUDA 驱动程序检测适当的 PyTorch 索引。

此选项为预览功能,可能在未来的任何版本中发生变化。

May also be set with the UV_TORCH_BACKEND environment variable.

可选值:

  • auto: Select the appropriate PyTorch index based on the operating system and CUDA driver version
  • cpu: Use the CPU-only PyTorch index
  • cu130: Use the PyTorch index for CUDA 13.0
  • cu129: Use the PyTorch index for CUDA 12.9
  • cu128: Use the PyTorch index for CUDA 12.8
  • cu126: Use the PyTorch index for CUDA 12.6
  • cu125: Use the PyTorch index for CUDA 12.5
  • cu124: Use the PyTorch index for CUDA 12.4
  • cu123: Use the PyTorch index for CUDA 12.3
  • cu122: Use the PyTorch index for CUDA 12.2
  • cu121: Use the PyTorch index for CUDA 12.1
  • cu120: Use the PyTorch index for CUDA 12.0
  • cu118: Use the PyTorch index for CUDA 11.8
  • cu117: Use the PyTorch index for CUDA 11.7
  • cu116: Use the PyTorch index for CUDA 11.6
  • cu115: Use the PyTorch index for CUDA 11.5
  • cu114: Use the PyTorch index for CUDA 11.4
  • cu113: Use the PyTorch index for CUDA 11.3
  • cu112: Use the PyTorch index for CUDA 11.2
  • cu111: Use the PyTorch index for CUDA 11.1
  • cu110: Use the PyTorch index for CUDA 11.0
  • cu102: Use the PyTorch index for CUDA 10.2
  • cu101: Use the PyTorch index for CUDA 10.1
  • cu100: Use the PyTorch index for CUDA 10.0
  • cu92: Use the PyTorch index for CUDA 9.2
  • cu91: Use the PyTorch index for CUDA 9.1
  • cu90: Use the PyTorch index for CUDA 9.0
  • cu80: Use the PyTorch index for CUDA 8.0
  • rocm7.2: Use the PyTorch index for ROCm 7.2
  • rocm7.1: Use the PyTorch index for ROCm 7.1
  • rocm7.0: Use the PyTorch index for ROCm 7.0
  • rocm6.4: Use the PyTorch index for ROCm 6.4
  • rocm6.3: Use the PyTorch index for ROCm 6.3
  • rocm6.2.4: Use the PyTorch index for ROCm 6.2.4
  • rocm6.2: Use the PyTorch index for ROCm 6.2
  • rocm6.1: Use the PyTorch index for ROCm 6.1
  • rocm6.0: Use the PyTorch index for ROCm 6.0
  • rocm5.7: Use the PyTorch index for ROCm 5.7
  • rocm5.6: Use the PyTorch index for ROCm 5.6
  • rocm5.5: Use the PyTorch index for ROCm 5.5
  • rocm5.4.2: Use the PyTorch index for ROCm 5.4.2
  • rocm5.4: Use the PyTorch index for ROCm 5.4
  • rocm5.3: Use the PyTorch index for ROCm 5.3
  • rocm5.2: Use the PyTorch index for ROCm 5.2
  • rocm5.1.1: Use the PyTorch index for ROCm 5.1.1
  • rocm4.2: Use the PyTorch index for ROCm 4.2
  • rocm4.1: Use the PyTorch index for ROCm 4.1
  • rocm4.0.1: Use the PyTorch index for ROCm 4.0.1
  • xpu: Use the PyTorch index for Intel XPU
--verbose, -v

使用详细输出。

您可以使用 RUST_LOG 环境变量配置细粒度日志记录。(https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives

uv pip install

将包安装到环境中

Usage

uv pip install [OPTIONS] <PACKAGE|--requirements <REQUIREMENTS>|--editable <EDITABLE>|--group <GROUP>>

Arguments

PACKAGE

Install all listed packages.

包的顺序用于确定解析过程中的优先级。

Options

--all-extras

包含所有可选依赖。

仅适用于 pylock.tomlpyproject.tomlsetup.pysetup.cfg 源。

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机的非安全连接。

可以多次提供。

期望接收主机名(如 localhost)、主机-端口对(如 localhost:8080)或 URL(如 https://localhost)。

警告:此列表中的主机将不会根据系统证书存储进行验证。仅在具有已验证来源的安全网络中使用 --allow-insecure-host,因为它会绕过 SSL 验证,可能使您面临中间人攻击(MITM)的风险。

也可以通过 UV_INSECURE_HOST 环境变量设置。

--break-system-packages

允许 uv 修改 EXTERNALLY-MANAGED 的 Python 安装。

警告:--break-system-packages 旨在用于持续集成(CI)环境中,当安装到由外部包管理器(如 apt)管理的 Python 安装中时。应谨慎使用,因为此类 Python 安装明确建议不要由其他包管理器(如 uv 或 pip)进行修改。

也可通过 UV_BREAK_SYSTEM_PACKAGES 环境变量设置。

--build-constraints, --build-constraint, -b build-constraints

构建源代码分发包时,使用给定的 requirements 文件来约束构建依赖。

约束文件(constraints files)是类似 requirements.txt 的文件,仅控制所安装依赖的版本。但是,在约束文件中包含某个包不会触发该包的安装。

也可以通过 UV_BUILD_CONSTRAINT 环境变量设置。

--cache-dir cache-dir

缓存目录的路径。

默认值为 $XDG_CACHE_HOME/uv$HOME/.cache/uv(macOS 和 Linux),以及 %LOCALAPPDATA%\uv\cache(Windows)。

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv 在写入终端时会自动检测颜色支持。

可选值:

  • auto: 仅在输出到支持颜色的终端或 TTY 时启用彩色输出
  • always: 无论检测到的环境如何,始终启用彩色输出
  • never: 禁用彩色输出
--compile-bytecode, --compile

安装后编译 Python 文件为字节码。

默认情况下,uv 不会将 Python(.py)文件编译为字节码(__pycache__/*.pyc);而是在首次导入模块时延迟编译。对于启动时间至关重要的用例,例如 CLI 应用程序和 Docker 容器,可以启用此选项,以较长的安装时间换取更快的启动时间。

启用后,uv 将处理整个 site-packages 目录(包括当前操作未修改的包)以保持一致性。与 pip 一样,它也会忽略错误。

也可通过 UV_COMPILE_BYTECODE 环境变量设置。

--config-file config-file

用于配置的 uv.toml 文件路径。

虽然 uv 配置可以包含在 pyproject.toml 文件中,但在此上下文中不允许。

也可以通过 UV_CONFIG_FILE 环境变量设置。

--config-setting, --config-settings, -C config-setting

传递给 PEP 517 构建后端(build backend)的设置,以 KEY=VALUE 对的形式指定

--config-settings-package, --config-settings-package config-settings-package

为特定包传递给 PEP 517 构建后端(build backend)的设置,以 PACKAGE:KEY=VALUE 对的形式指定

--constraints, --constraint, -c constraints

使用给定的 requirements 文件来约束版本。

约束文件(constraints files)是类似 requirements.txt 的文件,仅控制所安装依赖的版本。但是,在约束文件中包含某个包不会触发该包的安装。

这相当于 pip 的 --constraint 选项。

也可以通过 UV_CONSTRAINT 环境变量设置。

--default-index default-index

默认包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --index 标志指定的所有其他索引。

也可以通过 UV_DEFAULT_INDEX 环境变量设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径将以给定目录为基准进行解析。

参见 --project 仅更改项目根目录。

也可以通过 UV_WORKING_DIR 环境变量设置。

--dry-run

执行预演(dry run),即不实际安装任何内容,仅解析依赖并打印结果计划

--editable, -e editable

Install the editable package based on the provided local file path

--exact

Perform an exact sync, removing extraneous packages.

默认情况下,安装将进行最小必要更改以满足 requirements。启用后,uv 将更新环境以精确匹配 requirements,移除不在 requirements 中的包。

--exclude-newer exclude-newer

将候选包限制为在给定日期之前上传的版本。

日期与每个单独分发制品(distribution artifact)的上传时间(即每个文件上传到包索引的时间)进行比较,而非包版本的发布日期。

接受 RFC 3339 时间戳(例如 2006-12-02T02:07:43Z)、相同格式的本地日期(例如 2006-12-02,基于系统配置的时区解析)、"友好"持续时间(例如 24 hours1 week30 days)或 ISO 8601 持续时间(例如 PT24HP7DP30D)。

持续时间不遵循本地时区语义,始终按固定秒数计算,假设一天为 24 小时(例如,忽略夏令时转换)。不允许使用月和年等日历单位。

也可通过 UV_EXCLUDE_NEWER 环境变量设置。

--exclude-newer-package exclude-newer-package

将特定包的候选版本限制为在给定日期之前上传的版本。

接受 PACKAGE=DATE 格式的包-日期对,其中 DATE 为 RFC 3339 时间戳(例如 2006-12-02T02:07:43Z)、相同格式的本地日期(例如 2006-12-02,基于系统配置的时区解析)、"友好"持续时间(例如 24 hours1 week30 days)或 ISO 8601 持续时间(例如 PT24HP7DP30D)。

持续时间不遵循本地时区语义,始终按固定秒数计算,假设一天为 24 小时(例如,忽略夏令时转换)。不允许使用月和年等日历单位。

可为不同包多次提供。

--excludes, --exclude excludes

使用给定的 requirements 文件从解析中排除包。

排除文件是类似 requirements.txt 的文件,指定要从解析中排除的包。当包被排除时,它将完全从依赖列表中省略,并且其自身的依赖关系将在解析阶段被忽略。排除是无条件的,即忽略 requirement 版本说明符和标记(markers);提供的文件中列出的任何包都将从所有已解析环境中省略。

也可通过 UV_EXCLUDE 环境变量设置。

--extra extra

包含来自指定 extra 名称的可选依赖;可多次提供。

仅适用于 pylock.tomlpyproject.tomlsetup.pysetup.cfg 源。

--extra-index-url extra-index-url

(已弃用:请改用 --index)除 --index-url 之外要使用的额外包索引 URL。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --index-url 指定的索引(默认为 PyPI)。当提供多个 --extra-index-url 标志时,优先级按先后顺序递减。

也可通过 UV_EXTRA_INDEX_URL 环境变量设置。

在注册表索引之外,搜索候选分发包的额外位置。

如果提供的是路径,目标必须是一个目录,其顶层包含作为 wheel 文件(.whl)或源代码分发包(例如 .tar.gz.zip)的包。

如果提供的是 URL,页面必须包含一个扁平列表,其中包含符合上述格式的包文件链接。

也可通过 UV_FIND_LINKS 环境变量设置。

--fork-strategy fork-strategy

在跨 Python 版本和平台选择给定包的多个版本时使用的策略。

默认情况下,uv 会为每个受支持的 Python 版本(requires-python)优化选择每个包的最新版本,同时最小化跨平台选择的版本数量。

fewest 策略下,uv 将最小化每个包选择的版本数量,优先选择与更广泛受支持的 Python 版本或平台兼容的旧版本。

也可通过 UV_FORK_STRATEGY 环境变量设置。

可选值:

  • fewest: 优化选择每个包的最少版本数。如果旧版本与更广泛的受支持 Python 版本或平台兼容,则可能会优先选择旧版本
  • requires-python: 优化选择每个受支持 Python 版本的每个包的最新支持版本
--group group

从给定的 pylock.tomlpyproject.toml 安装指定的依赖组。

如果未提供路径,则使用工作目录中的 pylock.tomlpyproject.toml

可多次提供。

--help, -h

显示此命令的简洁帮助信息

--index index

解析依赖时使用的 URL,作为默认索引的补充。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --default-index 指定的索引(默认为 PyPI)。当提供多个 --index 标志时,优先级按先后顺序递减。

不支持将索引名称作为值。相对路径必须通过 ./../(Unix 上)或 .\\..\\./../(Windows 上)与索引名称进行区分。

也可通过 UV_INDEX 环境变量设置。

--index-strategy index-strategy

针对多个索引 URL 进行解析时使用的策略。

默认情况下,uv 会在第一个包含给定包的索引处停止,并将解析范围限制为在该第一个索引(first-index)中存在的包。这可以防止"依赖混淆"攻击,即攻击者可以在备用索引上以相同名称上传恶意包。

也可通过 UV_INDEX_STRATEGY 环境变量设置。

可选值:

  • first-index: 仅使用第一个返回给定包名匹配的索引的结果
  • unsafe-first-match: 搜索所有索引中的每个包名,在切换到下一个索引之前耗尽第一个索引的版本
  • unsafe-best-match: 搜索所有索引中的每个包名,优先选择找到的"最佳"版本。如果一个包版本存在于多个索引中,则仅查看第一个索引的条目
--index-url, -i index-url

(已弃用:请改用 --default-index)Python 包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --extra-index-url 标志指定的所有其他索引。

也可通过 UV_INDEX_URL 环境变量设置。

--keyring-provider keyring-provider

尝试使用 keyring 对索引 URL 进行身份验证。

目前仅支持 --keyring-provider subprocess,该选项配置 uv 使用 keyring CLI 来处理身份验证。

默认为 disabled

也可通过 UV_KEYRING_PROVIDER 环境变量设置。

可选值:

  • disabled: 不使用 keyring 进行凭据查找
  • subprocess: 使用 keyring 命令进行凭据查找

从全局缓存安装包时使用的方法。

默认在 macOS 和 Linux 上为 clone(也称为写时复制,Copy-on-Write),在 Windows 上为 hardlink

警告:不建议使用 symlink 链接模式,因为它会在缓存和目标环境之间创建紧密耦合。例如,清除缓存(uv cache clean)将通过移除底层源文件来破坏所有已安装的包。请谨慎使用 symlink。

也可通过 UV_LINK_MODE 环境变量设置。

可选值:

  • clone: 从源克隆(即写时复制)包到目标
  • copy: 从源复制包到目标
  • hardlink: 从源硬链接包到目标
  • symlink: 从源符号链接包到目标
--managed-python

Require use of uv-managed Python versions [env: UV_MANAGED_PYTHON=]

默认情况下,uv 优先使用其管理的 Python 版本。但是,如果没有安装 uv 管理的 Python 版本,则会使用系统 Python 版本。此选项禁用系统 Python 版本的使用。

--no-binary no-binary

不安装预构建的 wheel。

给定的包将从源代码构建并安装。解析器仍将使用预构建的 wheel 来提取包元数据(如果可用)。

可以指定多个包。使用 :all: 禁用所有包的二进制文件。使用 :none: 清除之前指定的包。

--no-break-system-packages
--no-build

不构建源代码分发包。

启用后,解析过程将不会运行任意 Python 代码。已构建的源代码分发包的缓存 wheel 将被重用,但需要构建分发包的操作将报错退出。

--only-binary :all: 的别名。

--no-build-isolation

构建源代码分发包时禁用隔离环境。

假定 PEP 518 指定的构建依赖已安装。

也可通过 UV_NO_BUILD_ISOLATION 环境变量设置。

--no-build-isolation-package no-build-isolation-package

为特定包构建源代码分发包时禁用隔离。

假定这些包的 PEP 518 指定的构建依赖已安装。

--no-cache, --no-cache-dir, -n

避免读取或写入缓存,而是在操作期间使用临时目录

也可通过 UV_NO_CACHE 环境变量设置。

--no-config

避免发现配置文件(pyproject.tomluv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可通过 UV_NO_CONFIG 环境变量设置。

--no-deps

Ignore package dependencies, instead only installing those packages explicitly listed on the command line or in the requirements files

--no-editable

Install any editable dependencies as non-editable [env: UV_NO_EDITABLE=]

--no-editable-package no-editable-package

Install the specified editable packages as non-editable

--no-index

忽略注册表索引(例如 PyPI),转而依赖直接 URL 依赖和通过 --find-links 提供的依赖

--no-managed-python

禁用使用 uv 管理的 Python 版本 [env: UV_NO_MANAGED_PYTHON=]

uv 将改为在系统上搜索合适的 Python 版本。

--no-progress

隐藏所有进度输出 [env: UV_NO_PROGRESS=]

例如,spinner 或进度条。

--no-python-downloads

禁用自动下载 Python。

--no-sources

解析依赖时忽略 tool.uv.sources 表。用于基于符合标准的、可发布的包元数据进行锁定,而不是使用任何工作空间、Git、URL 或本地路径源

也可通过 UV_NO_SOURCES 环境变量设置。

--no-sources-package no-sources-package

不要为指定的包使用 tool.uv.sources 表中的源 [env: UV_NO_SOURCES_PACKAGE=]

--no-verify-hashes

Disable validation of hashes in the requirements file.

默认情况下,uv 将验证 requirements 文件中任何可用的哈希值,但不会要求所有 requirement 都有关联的哈希值。要强制哈希验证,请使用 --require-hashes

May also be set with the UV_NO_VERIFY_HASHES environment variable.

--offline

禁用网络访问 [env: UV_OFFLINE=]

禁用后,uv 将仅使用本地缓存数据和本地可用文件。

--only-binary only-binary

仅使用预构建的 wheel;不构建源代码分发包。

启用后,解析过程将不会运行来自给定包的代码。已构建的源代码分发包的缓存 wheel 将被重用,但需要构建分发包的操作将报错退出。

可以指定多个包。使用 :all: 禁用所有包的二进制文件。使用 :none: 清除之前指定的包。

--overrides, --override overrides

使用给定的 requirements 文件覆盖版本。

覆盖文件是类似 requirements.txt 的文件,强制安装特定版本的 requirement,无论任何组成包声明的依赖如何,也无论这是否会被视为无效的解析结果。

约束是附加性的,即它们与组成包的 requirements 合并,而覆盖是绝对性的,即它们完全替换组成包的 requirements。

也可通过 UV_OVERRIDE 环境变量设置。

--prefix prefix

将包安装到指定目录下的 libbin 和其他顶层文件夹中,如同在该位置存在虚拟环境一样。

In general, prefer the use of --python to install into an alternate environment, as scripts and other artifacts installed via --prefix will reference the installing interpreter, rather than any interpreter added to the --prefix directory, rendering them non-portable.

与其他安装操作不同,此命令不需要发现现有 Python 环境,仅搜索用于包解析的 Python 解释器。如果找不到合适的 Python 解释器,uv 将安装一个。要禁用此行为,请添加 --no-python-downloads

--prerelease prerelease

考虑预发布版本时使用的策略。

默认情况下,uv 将接受发布预发布版本的包的预发布版本,以及声明的版本说明符中包含显式预发布标记的第一方 requirement(if-necessary-or-explicit)。

也可通过 UV_PRERELEASE 环境变量设置。

可选值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: Allow pre-release versions if all versions of a package are pre-release
  • explicit: 允许版本要求中带有显式预发布标记的第一方包的预发布版本
  • if-necessary-or-explicit: 如果一个包的所有版本都是预发布版本,或者该包的版本要求中带有显式预发布标记,则允许预发布版本
--project project

在给定目录中发现项目。

所有 pyproject.tomluv.toml.python-version 文件将通过从项目根目录向上遍历目录树来发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 以完全更改工作目录。

此设置在 uv pip 接口中使用时无效。

也可通过 UV_PROJECT 环境变量设置。

--python, -p python

The Python interpreter into which packages should be installed.

By default, installation requires a virtual environment. A path to an alternative Python can be provided, but it is only recommended in continuous integration (CI) environments and should be used with caution, as it can modify the system Python installation.

参见 uv python 了解 Python 发现机制和支持的请求格式的详细信息。

May also be set with the UV_PYTHON environment variable.

--python-platform python-platform

The platform for which requirements should be installed.

表示为"目标三元组"(target triple),一个描述目标平台的字符串,包含 CPU、供应商和操作系统名称,如 x86_64-unknown-linux-gnuaarch64-apple-darwin

当目标为 macOS(Darwin)时,默认最低版本为 13.0。使用 MACOSX_DEPLOYMENT_TARGET 指定不同的最低版本,例如 14.0

当目标为 iOS 时,默认最低版本为 13.0。使用 IPHONEOS_DEPLOYMENT_TARGET 指定不同的最低版本,例如 14.0

当目标为 Android 时,默认最低 Android API 级别为 24。使用 ANDROID_API_LEVEL 指定不同的最低版本,例如 26

WARNING: When specified, uv will select wheels that are compatible with the target platform; as a result, the installed distributions may not be compatible with the current platform. Conversely, any distributions that are built from source may be incompatible with the target platform, as they will be built for the current platform. The --python-platform option is intended for advanced use cases.

可选值:

  • windows: x86_64-pc-windows-msvc 的别名,Windows 的默认目标
  • linux: x86_64-unknown-linux-gnu 的别名,Linux 的默认目标
  • macos: aarch64-apple-darwin 的别名,macOS 的默认目标
  • x86_64-pc-windows-msvc: 64 位 x86 Windows 目标
  • aarch64-pc-windows-msvc: ARM64 Windows 目标
  • i686-pc-windows-msvc: 32 位 x86 Windows 目标
  • x86_64-unknown-linux-gnu: x86 Linux 目标。等效于 x86_64-manylinux_2_28
  • aarch64-apple-darwin: 基于 ARM 的 macOS 目标,如 Apple Silicon 设备上所见
  • x86_64-apple-darwin: x86 macOS 目标
  • aarch64-unknown-linux-gnu: ARM64 Linux 目标。等效于 aarch64-manylinux_2_28
  • aarch64-unknown-linux-musl: ARM64 Linux 目标
  • x86_64-unknown-linux-musl: x86_64 Linux 目标
  • riscv64-unknown-linux: RISCV64 Linux 目标
  • x86_64-manylinux2014: x86_64 目标,适用于 manylinux2014 平台。等效于 x86_64-manylinux_2_17
  • x86_64-manylinux_2_17: x86_64 目标,适用于 manylinux_2_17 平台
  • x86_64-manylinux_2_28: x86_64 目标,适用于 manylinux_2_28 平台
  • x86_64-manylinux_2_31: x86_64 目标,适用于 manylinux_2_31 平台
  • x86_64-manylinux_2_32: x86_64 目标,适用于 manylinux_2_32 平台
  • x86_64-manylinux_2_33: x86_64 目标,适用于 manylinux_2_33 平台
  • x86_64-manylinux_2_34: x86_64 目标,适用于 manylinux_2_34 平台
  • x86_64-manylinux_2_35: x86_64 目标,适用于 manylinux_2_35 平台
  • x86_64-manylinux_2_36: x86_64 目标,适用于 manylinux_2_36 平台
  • x86_64-manylinux_2_37: x86_64 目标,适用于 manylinux_2_37 平台
  • x86_64-manylinux_2_38: x86_64 目标,适用于 manylinux_2_38 平台
  • x86_64-manylinux_2_39: x86_64 目标,适用于 manylinux_2_39 平台
  • x86_64-manylinux_2_40: x86_64 目标,适用于 manylinux_2_40 平台
  • aarch64-manylinux2014: ARM64 目标,适用于 manylinux2014 平台。等效于 aarch64-manylinux_2_17
  • aarch64-manylinux_2_17: ARM64 目标,适用于 manylinux_2_17 平台
  • aarch64-manylinux_2_28: ARM64 目标,适用于 manylinux_2_28 平台
  • aarch64-manylinux_2_31: ARM64 目标,适用于 manylinux_2_31 平台
  • aarch64-manylinux_2_32: ARM64 目标,适用于 manylinux_2_32 平台
  • aarch64-manylinux_2_33: ARM64 目标,适用于 manylinux_2_33 平台
  • aarch64-manylinux_2_34: ARM64 目标,适用于 manylinux_2_34 平台
  • aarch64-manylinux_2_35: ARM64 目标,适用于 manylinux_2_35 平台
  • aarch64-manylinux_2_36: ARM64 目标,适用于 manylinux_2_36 平台
  • aarch64-manylinux_2_37: ARM64 目标,适用于 manylinux_2_37 平台
  • aarch64-manylinux_2_38: ARM64 目标,适用于 manylinux_2_38 平台
  • aarch64-manylinux_2_39: ARM64 目标,适用于 manylinux_2_39 平台
  • aarch64-manylinux_2_40: ARM64 目标,适用于 manylinux_2_40 平台
  • aarch64-linux-android: ARM64 Android 目标
  • x86_64-linux-android: x86_64 Android 目标
  • wasm32-pyodide2024: wasm32 目标,使用 Pyodide 2024 平台。适用于 Python 3.12。参见 https://pyodide.org/en/stable/development/abi/312.html
  • wasm32-pyodide2025: wasm32 目标,使用 Pyodide 2025 平台。适用于 Python 3.13。参见 https://pyodide.org/en/stable/development/abi/313.html
  • arm64-apple-ios: iOS 设备的 ARM64 目标
  • arm64-apple-ios-simulator: iOS 模拟器的 ARM64 目标
  • x86_64-apple-ios-simulator: iOS 模拟器的 x86_64 目标
--python-version python-version

The minimum Python version that should be supported by the requirements (e.g., 3.7 or 3.7.9).

If a patch version is omitted, the minimum patch version is assumed. For example, 3.7 is mapped to 3.7.0.

--quiet, -q

使用静默输出。

重复此选项(如 -qq)将启用静默模式,uv 将不会向 stdout 写入任何输出。

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

Reinstall all packages, regardless of whether they're already installed. Implies --refresh

--reinstall-package reinstall-package

Reinstall a specific package, regardless of whether it's already installed. Implies --refresh-package

--require-hashes

Require a matching hash for each requirement.

默认情况下,uv 将验证 requirements 文件中任何可用的哈希值,但不会要求所有 requirement 都有关联的哈希值。

When --require-hashes is enabled, all requirements must include a hash or set of hashes, and all requirements must either be pinned to exact versions (e.g., ==1.0.0), or be specified via direct URL.

哈希检查模式引入了许多额外的约束:

  • Git dependencies are not supported. - Editable installations are not supported. - Local dependencies are not supported, unless they point to a specific wheel (.whl) or source archive (.zip, .tar.gz), as opposed to a directory.

May also be set with the UV_REQUIRE_HASHES environment variable.

--requirements, --requirement, -r requirements

安装 requirements 文件中列出的包。

支持以下格式:requirements.txt、包含内联元数据的 .py 文件、pylock.tomlpyproject.tomlsetup.pysetup.cfg

如果提供了 pyproject.tomlsetup.pysetup.cfg 文件,uv 将提取相关项目的 requirements。

If - is provided, then requirements will be read from stdin.

--resolution resolution

在给定包需求的不同兼容版本之间进行选择时使用的策略。

默认情况下,uv 会使用每个包的最新兼容版本(highest)。

May also be set with the UV_RESOLUTION environment variable.

可选值:

  • highest: Resolve the highest compatible version of each package
  • lowest: Resolve the lowest compatible version of each package
  • lowest-direct: Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies
--strict

安装完成后验证 Python 环境,检测包含缺失依赖或其他问题的包

--system

Install packages into the system Python environment.

默认情况下,uv 安装到当前工作目录或任何父目录中的虚拟环境。--system 选项指示 uv 改为使用系统 PATH 中找到的第一个 Python。

警告:--system 旨在用于持续集成(CI)环境中,应谨慎使用,因为它可能会修改系统 Python 安装。

May also be set with the UV_SYSTEM_PYTHON environment variable.

--system-certs

是否从平台的原生证书存储加载 TLS 证书 [env: UV_SYSTEM_CERTS=]

默认情况下,uv 使用捆绑的 Mozilla 根证书,这提高了可移植性和性能(尤其是在 macOS 上)。

但是,在某些情况下,您可能需要使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根(例如,用于强制代理)时。

--target, -t target

Install packages into the specified directory, rather than into the virtual or system Python environment. The packages will be installed at the top-level of the directory.

与其他安装操作不同,此命令不需要发现现有 Python 环境,仅搜索用于包解析的 Python 解释器。如果找不到合适的 Python 解释器,uv 将安装一个。要禁用此行为,请添加 --no-python-downloads

--torch-backend torch-backend

获取 PyTorch 生态系统中软件包时使用的后端(例如,cpucu126auto

设置后,uv 将忽略为 PyTorch 生态系统中的包配置的索引 URL,而改用定义的后端。

For example, when set to cpu, uv will use the CPU-only PyTorch index; when set to cu126, uv will use the PyTorch index for CUDA 12.6.

auto 模式将尝试根据当前安装的 CUDA 驱动程序检测适当的 PyTorch 索引。

此选项为预览功能,可能在未来的任何版本中发生变化。

May also be set with the UV_TORCH_BACKEND environment variable.

可选值:

  • auto: Select the appropriate PyTorch index based on the operating system and CUDA driver version
  • cpu: Use the CPU-only PyTorch index
  • cu130: Use the PyTorch index for CUDA 13.0
  • cu129: Use the PyTorch index for CUDA 12.9
  • cu128: Use the PyTorch index for CUDA 12.8
  • cu126: Use the PyTorch index for CUDA 12.6
  • cu125: Use the PyTorch index for CUDA 12.5
  • cu124: Use the PyTorch index for CUDA 12.4
  • cu123: Use the PyTorch index for CUDA 12.3
  • cu122: Use the PyTorch index for CUDA 12.2
  • cu121: Use the PyTorch index for CUDA 12.1
  • cu120: Use the PyTorch index for CUDA 12.0
  • cu118: Use the PyTorch index for CUDA 11.8
  • cu117: Use the PyTorch index for CUDA 11.7
  • cu116: Use the PyTorch index for CUDA 11.6
  • cu115: Use the PyTorch index for CUDA 11.5
  • cu114: Use the PyTorch index for CUDA 11.4
  • cu113: Use the PyTorch index for CUDA 11.3
  • cu112: Use the PyTorch index for CUDA 11.2
  • cu111: Use the PyTorch index for CUDA 11.1
  • cu110: Use the PyTorch index for CUDA 11.0
  • cu102: Use the PyTorch index for CUDA 10.2
  • cu101: Use the PyTorch index for CUDA 10.1
  • cu100: Use the PyTorch index for CUDA 10.0
  • cu92: Use the PyTorch index for CUDA 9.2
  • cu91: Use the PyTorch index for CUDA 9.1
  • cu90: Use the PyTorch index for CUDA 9.0
  • cu80: Use the PyTorch index for CUDA 8.0
  • rocm7.2: Use the PyTorch index for ROCm 7.2
  • rocm7.1: Use the PyTorch index for ROCm 7.1
  • rocm7.0: Use the PyTorch index for ROCm 7.0
  • rocm6.4: Use the PyTorch index for ROCm 6.4
  • rocm6.3: Use the PyTorch index for ROCm 6.3
  • rocm6.2.4: Use the PyTorch index for ROCm 6.2.4
  • rocm6.2: Use the PyTorch index for ROCm 6.2
  • rocm6.1: Use the PyTorch index for ROCm 6.1
  • rocm6.0: Use the PyTorch index for ROCm 6.0
  • rocm5.7: Use the PyTorch index for ROCm 5.7
  • rocm5.6: Use the PyTorch index for ROCm 5.6
  • rocm5.5: Use the PyTorch index for ROCm 5.5
  • rocm5.4.2: Use the PyTorch index for ROCm 5.4.2
  • rocm5.4: Use the PyTorch index for ROCm 5.4
  • rocm5.3: Use the PyTorch index for ROCm 5.3
  • rocm5.2: Use the PyTorch index for ROCm 5.2
  • rocm5.1.1: Use the PyTorch index for ROCm 5.1.1
  • rocm4.2: Use the PyTorch index for ROCm 4.2
  • rocm4.1: Use the PyTorch index for ROCm 4.1
  • rocm4.0.1: Use the PyTorch index for ROCm 4.0.1
  • xpu: Use the PyTorch index for Intel XPU
--upgrade, -U

允许包升级,忽略任何现有输出文件中的固定版本。隐含 --refresh

--upgrade-group upgrade-group

Allow upgrades for all packages in a dependency group, ignoring pinned versions in any existing output file

--upgrade-package, -P upgrade-package

允许特定包的升级,忽略任何现有输出文件中的固定版本。隐含 --refresh-package

--user
--verbose, -v

使用详细输出。

您可以使用 RUST_LOG 环境变量配置细粒度日志记录。(https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives

uv pip uninstall

从环境中卸载包

Usage

uv pip uninstall [OPTIONS] <PACKAGE|--requirements <REQUIREMENTS>>

Arguments

PACKAGE

Uninstall all listed packages

Options

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机的非安全连接。

可以多次提供。

期望接收主机名(如 localhost)、主机-端口对(如 localhost:8080)或 URL(如 https://localhost)。

警告:此列表中的主机将不会根据系统证书存储进行验证。仅在具有已验证来源的安全网络中使用 --allow-insecure-host,因为它会绕过 SSL 验证,可能使您面临中间人攻击(MITM)的风险。

也可以通过 UV_INSECURE_HOST 环境变量设置。

--break-system-packages

允许 uv 修改 EXTERNALLY-MANAGED 的 Python 安装。

警告:--break-system-packages 旨在用于持续集成(CI)环境中,当安装到由外部包管理器(如 apt)管理的 Python 安装中时。应谨慎使用,因为此类 Python 安装明确建议不要由其他包管理器(如 uv 或 pip)进行修改。

也可通过 UV_BREAK_SYSTEM_PACKAGES 环境变量设置。

--cache-dir cache-dir

缓存目录的路径。

默认值为 $XDG_CACHE_HOME/uv$HOME/.cache/uv(macOS 和 Linux),以及 %LOCALAPPDATA%\uv\cache(Windows)。

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv 在写入终端时会自动检测颜色支持。

可选值:

  • auto: 仅在输出到支持颜色的终端或 TTY 时启用彩色输出
  • always: 无论检测到的环境如何,始终启用彩色输出
  • never: 禁用彩色输出
--config-file config-file

用于配置的 uv.toml 文件路径。

虽然 uv 配置可以包含在 pyproject.toml 文件中,但在此上下文中不允许。

也可以通过 UV_CONFIG_FILE 环境变量设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径将以给定目录为基准进行解析。

参见 --project 仅更改项目根目录。

也可以通过 UV_WORKING_DIR 环境变量设置。

--dry-run

Perform a dry run, i.e., don't actually uninstall anything but print the resulting plan

--help, -h

显示此命令的简洁帮助信息

--keyring-provider keyring-provider

Attempt to use keyring for authentication for remote requirements files.

目前仅支持 --keyring-provider subprocess,该选项配置 uv 使用 keyring CLI 来处理身份验证。

默认为 disabled

也可通过 UV_KEYRING_PROVIDER 环境变量设置。

可选值:

  • disabled: 不使用 keyring 进行凭据查找
  • subprocess: 使用 keyring 命令进行凭据查找
--managed-python

Require use of uv-managed Python versions [env: UV_MANAGED_PYTHON=]

默认情况下,uv 优先使用其管理的 Python 版本。但是,如果没有安装 uv 管理的 Python 版本,则会使用系统 Python 版本。此选项禁用系统 Python 版本的使用。

--no-break-system-packages
--no-cache, --no-cache-dir, -n

避免读取或写入缓存,而是在操作期间使用临时目录

也可通过 UV_NO_CACHE 环境变量设置。

--no-config

避免发现配置文件(pyproject.tomluv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可通过 UV_NO_CONFIG 环境变量设置。

--no-managed-python

禁用使用 uv 管理的 Python 版本 [env: UV_NO_MANAGED_PYTHON=]

uv 将改为在系统上搜索合适的 Python 版本。

--no-progress

隐藏所有进度输出 [env: UV_NO_PROGRESS=]

例如,spinner 或进度条。

--no-python-downloads

禁用自动下载 Python。

--offline

禁用网络访问 [env: UV_OFFLINE=]

禁用后,uv 将仅使用本地缓存数据和本地可用文件。

--prefix prefix

Uninstall packages from the specified --prefix directory

--project project

在给定目录中发现项目。

所有 pyproject.tomluv.toml.python-version 文件将通过从项目根目录向上遍历目录树来发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 以完全更改工作目录。

此设置在 uv pip 接口中使用时无效。

也可通过 UV_PROJECT 环境变量设置。

--python, -p python

The Python interpreter from which packages should be uninstalled.

By default, uninstallation requires a virtual environment. A path to an alternative Python can be provided, but it is only recommended in continuous integration (CI) environments and should be used with caution, as it can modify the system Python installation.

参见 uv python 了解 Python 发现机制和支持的请求格式的详细信息。

May also be set with the UV_PYTHON environment variable.

--quiet, -q

使用静默输出。

重复此选项(如 -qq)将启用静默模式,uv 将不会向 stdout 写入任何输出。

--requirements, --requirement, -r requirements

Uninstall the packages listed in the given files.

支持以下格式:requirements.txt、包含内联元数据的 .py 文件、pylock.tomlpyproject.tomlsetup.pysetup.cfg

--system

使用系统 Python 来卸载包。

默认情况下,uv 从当前工作目录或任何父目录中的虚拟环境卸载包。--system 选项指示 uv 改为使用系统 PATH 中找到的第一个 Python。

警告:--system 旨在用于持续集成(CI)环境中,应谨慎使用,因为它可能会修改系统 Python 安装。

May also be set with the UV_SYSTEM_PYTHON environment variable.

--system-certs

是否从平台的原生证书存储加载 TLS 证书 [env: UV_SYSTEM_CERTS=]

默认情况下,uv 使用捆绑的 Mozilla 根证书,这提高了可移植性和性能(尤其是在 macOS 上)。

但是,在某些情况下,您可能需要使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根(例如,用于强制代理)时。

--target, -t target

Uninstall packages from the specified --target directory

--verbose, -v

使用详细输出。

您可以使用 RUST_LOG 环境变量配置细粒度日志记录。(https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives

uv pip freeze

以 requirements 格式列出环境中已安装的包

Usage

uv pip freeze [OPTIONS]

Options

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机的非安全连接。

可以多次提供。

期望接收主机名(如 localhost)、主机-端口对(如 localhost:8080)或 URL(如 https://localhost)。

警告:此列表中的主机将不会根据系统证书存储进行验证。仅在具有已验证来源的安全网络中使用 --allow-insecure-host,因为它会绕过 SSL 验证,可能使您面临中间人攻击(MITM)的风险。

也可以通过 UV_INSECURE_HOST 环境变量设置。

--cache-dir cache-dir

缓存目录的路径。

默认值为 $XDG_CACHE_HOME/uv$HOME/.cache/uv(macOS 和 Linux),以及 %LOCALAPPDATA%\uv\cache(Windows)。

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv 在写入终端时会自动检测颜色支持。

可选值:

  • auto: 仅在输出到支持颜色的终端或 TTY 时启用彩色输出
  • always: 无论检测到的环境如何,始终启用彩色输出
  • never: 禁用彩色输出
--config-file config-file

用于配置的 uv.toml 文件路径。

虽然 uv 配置可以包含在 pyproject.toml 文件中,但在此上下文中不允许。

也可以通过 UV_CONFIG_FILE 环境变量设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径将以给定目录为基准进行解析。

参见 --project 仅更改项目根目录。

也可以通过 UV_WORKING_DIR 环境变量设置。

--exclude exclude

Exclude the specified package(s) from the output

--exclude-editable

Exclude any editable packages from output

--help, -h

显示此命令的简洁帮助信息

--managed-python

Require use of uv-managed Python versions [env: UV_MANAGED_PYTHON=]

默认情况下,uv 优先使用其管理的 Python 版本。但是,如果没有安装 uv 管理的 Python 版本,则会使用系统 Python 版本。此选项禁用系统 Python 版本的使用。

--no-cache, --no-cache-dir, -n

避免读取或写入缓存,而是在操作期间使用临时目录

也可通过 UV_NO_CACHE 环境变量设置。

--no-config

避免发现配置文件(pyproject.tomluv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可通过 UV_NO_CONFIG 环境变量设置。

--no-managed-python

禁用使用 uv 管理的 Python 版本 [env: UV_NO_MANAGED_PYTHON=]

uv 将改为在系统上搜索合适的 Python 版本。

--no-progress

隐藏所有进度输出 [env: UV_NO_PROGRESS=]

例如,spinner 或进度条。

--no-python-downloads

禁用自动下载 Python。

--offline

禁用网络访问 [env: UV_OFFLINE=]

禁用后,uv 将仅使用本地缓存数据和本地可用文件。

--path paths

Restrict to the specified installation path for listing packages (can be used multiple times)

--prefix prefix

List packages from the specified --prefix directory

--project project

在给定目录中发现项目。

所有 pyproject.tomluv.toml.python-version 文件将通过从项目根目录向上遍历目录树来发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 以完全更改工作目录。

此设置在 uv pip 接口中使用时无效。

也可通过 UV_PROJECT 环境变量设置。

--python, -p python

The Python interpreter for which packages should be listed.

By default, uv lists packages in a virtual environment but will show packages in a system Python environment if no virtual environment is found.

参见 uv python 了解 Python 发现机制和支持的请求格式的详细信息。

May also be set with the UV_PYTHON environment variable.

--quiet, -q

使用静默输出。

重复此选项(如 -qq)将启用静默模式,uv 将不会向 stdout 写入任何输出。

--strict

Validate the Python environment, to detect packages with missing dependencies and other issues

--system

List packages in the system Python environment.

禁用虚拟环境的发现。

参见 uv python 了解 Python 发现机制的详细信息。

May also be set with the UV_SYSTEM_PYTHON environment variable.

--system-certs

是否从平台的原生证书存储加载 TLS 证书 [env: UV_SYSTEM_CERTS=]

默认情况下,uv 使用捆绑的 Mozilla 根证书,这提高了可移植性和性能(尤其是在 macOS 上)。

但是,在某些情况下,您可能需要使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根(例如,用于强制代理)时。

--target, -t target

List packages from the specified --target directory

--verbose, -v

使用详细输出。

您可以使用 RUST_LOG 环境变量配置细粒度日志记录。(https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives

uv pip list

以表格格式列出环境中已安装的包

Usage

uv pip list [OPTIONS]

Options

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机的非安全连接。

可以多次提供。

期望接收主机名(如 localhost)、主机-端口对(如 localhost:8080)或 URL(如 https://localhost)。

警告:此列表中的主机将不会根据系统证书存储进行验证。仅在具有已验证来源的安全网络中使用 --allow-insecure-host,因为它会绕过 SSL 验证,可能使您面临中间人攻击(MITM)的风险。

也可以通过 UV_INSECURE_HOST 环境变量设置。

--cache-dir cache-dir

缓存目录的路径。

默认值为 $XDG_CACHE_HOME/uv$HOME/.cache/uv(macOS 和 Linux),以及 %LOCALAPPDATA%\uv\cache(Windows)。

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv 在写入终端时会自动检测颜色支持。

可选值:

  • auto: 仅在输出到支持颜色的终端或 TTY 时启用彩色输出
  • always: 无论检测到的环境如何,始终启用彩色输出
  • never: 禁用彩色输出
--config-file config-file

用于配置的 uv.toml 文件路径。

虽然 uv 配置可以包含在 pyproject.toml 文件中,但在此上下文中不允许。

也可以通过 UV_CONFIG_FILE 环境变量设置。

--default-index default-index

默认包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --index 标志指定的所有其他索引。

也可以通过 UV_DEFAULT_INDEX 环境变量设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径将以给定目录为基准进行解析。

参见 --project 仅更改项目根目录。

也可以通过 UV_WORKING_DIR 环境变量设置。

--editable, -e

Only include editable projects

--exclude exclude

Exclude the specified package(s) from the output

--exclude-editable

Exclude any editable packages from output

--exclude-newer exclude-newer

将候选包限制为在给定日期之前上传的版本。

日期与每个单独分发制品(distribution artifact)的上传时间(即每个文件上传到包索引的时间)进行比较,而非包版本的发布日期。

接受 RFC 3339 时间戳(例如 2006-12-02T02:07:43Z)、相同格式的本地日期(例如 2006-12-02,基于系统配置的时区解析)、"友好"持续时间(例如 24 hours1 week30 days)或 ISO 8601 持续时间(例如 PT24HP7DP30D)。

持续时间不遵循本地时区语义,始终按固定秒数计算,假设一天为 24 小时(例如,忽略夏令时转换)。不允许使用月和年等日历单位。

也可通过 UV_EXCLUDE_NEWER 环境变量设置。

--extra-index-url extra-index-url

(已弃用:请改用 --index)除 --index-url 之外要使用的额外包索引 URL。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --index-url 指定的索引(默认为 PyPI)。当提供多个 --extra-index-url 标志时,优先级按先后顺序递减。

也可通过 UV_EXTRA_INDEX_URL 环境变量设置。

在注册表索引之外,搜索候选分发包的额外位置。

如果提供的是路径,目标必须是一个目录,其顶层包含作为 wheel 文件(.whl)或源代码分发包(例如 .tar.gz.zip)的包。

如果提供的是 URL,页面必须包含一个扁平列表,其中包含符合上述格式的包文件链接。

也可通过 UV_FIND_LINKS 环境变量设置。

--format format

Select the output format

[default: columns]

可选值:

  • columns: Display the list of packages in a human-readable table
  • freeze: Display the list of packages in a pip freeze-like format, with one package per line alongside its version
  • json: Display the list of packages in a machine-readable JSON format
--help, -h

显示此命令的简洁帮助信息

--index index

解析依赖时使用的 URL,作为默认索引的补充。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --default-index 指定的索引(默认为 PyPI)。当提供多个 --index 标志时,优先级按先后顺序递减。

不支持将索引名称作为值。相对路径必须通过 ./../(Unix 上)或 .\\..\\./../(Windows 上)与索引名称进行区分。

也可通过 UV_INDEX 环境变量设置。

--index-strategy index-strategy

针对多个索引 URL 进行解析时使用的策略。

默认情况下,uv 会在第一个包含给定包的索引处停止,并将解析范围限制为在该第一个索引(first-index)中存在的包。这可以防止"依赖混淆"攻击,即攻击者可以在备用索引上以相同名称上传恶意包。

也可通过 UV_INDEX_STRATEGY 环境变量设置。

可选值:

  • first-index: 仅使用第一个返回给定包名匹配的索引的结果
  • unsafe-first-match: 搜索所有索引中的每个包名,在切换到下一个索引之前耗尽第一个索引的版本
  • unsafe-best-match: 搜索所有索引中的每个包名,优先选择找到的"最佳"版本。如果一个包版本存在于多个索引中,则仅查看第一个索引的条目
--index-url, -i index-url

(已弃用:请改用 --default-index)Python 包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --extra-index-url 标志指定的所有其他索引。

也可通过 UV_INDEX_URL 环境变量设置。

--keyring-provider keyring-provider

尝试使用 keyring 对索引 URL 进行身份验证。

目前仅支持 --keyring-provider subprocess,该选项配置 uv 使用 keyring CLI 来处理身份验证。

默认为 disabled

也可通过 UV_KEYRING_PROVIDER 环境变量设置。

可选值:

  • disabled: 不使用 keyring 进行凭据查找
  • subprocess: 使用 keyring 命令进行凭据查找
--managed-python

Require use of uv-managed Python versions [env: UV_MANAGED_PYTHON=]

默认情况下,uv 优先使用其管理的 Python 版本。但是,如果没有安装 uv 管理的 Python 版本,则会使用系统 Python 版本。此选项禁用系统 Python 版本的使用。

--no-cache, --no-cache-dir, -n

避免读取或写入缓存,而是在操作期间使用临时目录

也可通过 UV_NO_CACHE 环境变量设置。

--no-config

避免发现配置文件(pyproject.tomluv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可通过 UV_NO_CONFIG 环境变量设置。

--no-index

忽略注册表索引(例如 PyPI),转而依赖直接 URL 依赖和通过 --find-links 提供的依赖

--no-managed-python

禁用使用 uv 管理的 Python 版本 [env: UV_NO_MANAGED_PYTHON=]

uv 将改为在系统上搜索合适的 Python 版本。

--no-progress

隐藏所有进度输出 [env: UV_NO_PROGRESS=]

例如,spinner 或进度条。

--no-python-downloads

禁用自动下载 Python。

--offline

禁用网络访问 [env: UV_OFFLINE=]

禁用后,uv 将仅使用本地缓存数据和本地可用文件。

--outdated

List outdated packages.

每个包的最新版本将与已安装版本并排显示。已是最新版本的包将从输出中省略。

--prefix prefix

List packages from the specified --prefix directory

--project project

在给定目录中发现项目。

所有 pyproject.tomluv.toml.python-version 文件将通过从项目根目录向上遍历目录树来发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 以完全更改工作目录。

此设置在 uv pip 接口中使用时无效。

也可通过 UV_PROJECT 环境变量设置。

--python, -p python

The Python interpreter for which packages should be listed.

By default, uv lists packages in a virtual environment but will show packages in a system Python environment if no virtual environment is found.

参见 uv python 了解 Python 发现机制和支持的请求格式的详细信息。

May also be set with the UV_PYTHON environment variable.

--quiet, -q

使用静默输出。

重复此选项(如 -qq)将启用静默模式,uv 将不会向 stdout 写入任何输出。

--strict

Validate the Python environment, to detect packages with missing dependencies and other issues

--system

List packages in the system Python environment.

禁用虚拟环境的发现。

参见 uv python 了解 Python 发现机制的详细信息。

May also be set with the UV_SYSTEM_PYTHON environment variable.

--system-certs

是否从平台的原生证书存储加载 TLS 证书 [env: UV_SYSTEM_CERTS=]

默认情况下,uv 使用捆绑的 Mozilla 根证书,这提高了可移植性和性能(尤其是在 macOS 上)。

但是,在某些情况下,您可能需要使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根(例如,用于强制代理)时。

--target, -t target

List packages from the specified --target directory

--verbose, -v

使用详细输出。

您可以使用 RUST_LOG 环境变量配置细粒度日志记录。(https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives

uv pip show

显示一个或多个已安装包的信息

Usage

uv pip show [OPTIONS] [PACKAGE]...

Arguments

PACKAGE

The package(s) to display

Options

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机的非安全连接。

可以多次提供。

期望接收主机名(如 localhost)、主机-端口对(如 localhost:8080)或 URL(如 https://localhost)。

警告:此列表中的主机将不会根据系统证书存储进行验证。仅在具有已验证来源的安全网络中使用 --allow-insecure-host,因为它会绕过 SSL 验证,可能使您面临中间人攻击(MITM)的风险。

也可以通过 UV_INSECURE_HOST 环境变量设置。

--cache-dir cache-dir

缓存目录的路径。

默认值为 $XDG_CACHE_HOME/uv$HOME/.cache/uv(macOS 和 Linux),以及 %LOCALAPPDATA%\uv\cache(Windows)。

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv 在写入终端时会自动检测颜色支持。

可选值:

  • auto: 仅在输出到支持颜色的终端或 TTY 时启用彩色输出
  • always: 无论检测到的环境如何,始终启用彩色输出
  • never: 禁用彩色输出
--config-file config-file

用于配置的 uv.toml 文件路径。

虽然 uv 配置可以包含在 pyproject.toml 文件中,但在此上下文中不允许。

也可以通过 UV_CONFIG_FILE 环境变量设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径将以给定目录为基准进行解析。

参见 --project 仅更改项目根目录。

也可以通过 UV_WORKING_DIR 环境变量设置。

--files, -f

Show the full list of installed files for each package

--help, -h

显示此命令的简洁帮助信息

--managed-python

Require use of uv-managed Python versions [env: UV_MANAGED_PYTHON=]

默认情况下,uv 优先使用其管理的 Python 版本。但是,如果没有安装 uv 管理的 Python 版本,则会使用系统 Python 版本。此选项禁用系统 Python 版本的使用。

--no-cache, --no-cache-dir, -n

避免读取或写入缓存,而是在操作期间使用临时目录

也可通过 UV_NO_CACHE 环境变量设置。

--no-config

避免发现配置文件(pyproject.tomluv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可通过 UV_NO_CONFIG 环境变量设置。

--no-managed-python

禁用使用 uv 管理的 Python 版本 [env: UV_NO_MANAGED_PYTHON=]

uv 将改为在系统上搜索合适的 Python 版本。

--no-progress

隐藏所有进度输出 [env: UV_NO_PROGRESS=]

例如,spinner 或进度条。

--no-python-downloads

禁用自动下载 Python。

--offline

禁用网络访问 [env: UV_OFFLINE=]

禁用后,uv 将仅使用本地缓存数据和本地可用文件。

--prefix prefix

Show a package from the specified --prefix directory

--project project

在给定目录中发现项目。

所有 pyproject.tomluv.toml.python-version 文件将通过从项目根目录向上遍历目录树来发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 以完全更改工作目录。

此设置在 uv pip 接口中使用时无效。

也可通过 UV_PROJECT 环境变量设置。

--python, -p python

The Python interpreter to find the package in.

By default, uv looks for packages in a virtual environment but will look for packages in a system Python environment if no virtual environment is found.

参见 uv python 了解 Python 发现机制和支持的请求格式的详细信息。

May also be set with the UV_PYTHON environment variable.

--quiet, -q

使用静默输出。

重复此选项(如 -qq)将启用静默模式,uv 将不会向 stdout 写入任何输出。

--strict

Validate the Python environment, to detect packages with missing dependencies and other issues

--system

Show a package in the system Python environment.

禁用虚拟环境的发现。

参见 uv python 了解 Python 发现机制的详细信息。

May also be set with the UV_SYSTEM_PYTHON environment variable.

--system-certs

是否从平台的原生证书存储加载 TLS 证书 [env: UV_SYSTEM_CERTS=]

默认情况下,uv 使用捆绑的 Mozilla 根证书,这提高了可移植性和性能(尤其是在 macOS 上)。

但是,在某些情况下,您可能需要使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根(例如,用于强制代理)时。

--target, -t target

Show a package from the specified --target directory

--verbose, -v

使用详细输出。

您可以使用 RUST_LOG 环境变量配置细粒度日志记录。(https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives

uv pip tree

显示环境的依赖树

Usage

uv pip tree [OPTIONS]

Options

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机的非安全连接。

可以多次提供。

期望接收主机名(如 localhost)、主机-端口对(如 localhost:8080)或 URL(如 https://localhost)。

警告:此列表中的主机将不会根据系统证书存储进行验证。仅在具有已验证来源的安全网络中使用 --allow-insecure-host,因为它会绕过 SSL 验证,可能使您面临中间人攻击(MITM)的风险。

也可以通过 UV_INSECURE_HOST 环境变量设置。

--cache-dir cache-dir

缓存目录的路径。

默认值为 $XDG_CACHE_HOME/uv$HOME/.cache/uv(macOS 和 Linux),以及 %LOCALAPPDATA%\uv\cache(Windows)。

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv 在写入终端时会自动检测颜色支持。

可选值:

  • auto: 仅在输出到支持颜色的终端或 TTY 时启用彩色输出
  • always: 无论检测到的环境如何,始终启用彩色输出
  • never: 禁用彩色输出
--config-file config-file

用于配置的 uv.toml 文件路径。

虽然 uv 配置可以包含在 pyproject.toml 文件中,但在此上下文中不允许。

也可以通过 UV_CONFIG_FILE 环境变量设置。

--default-index default-index

默认包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --index 标志指定的所有其他索引。

也可以通过 UV_DEFAULT_INDEX 环境变量设置。

--depth, -d depth

Maximum display depth of the dependency tree

[default: 255]

--directory directory

在运行命令之前切换到指定目录。

相对路径将以给定目录为基准进行解析。

参见 --project 仅更改项目根目录。

也可以通过 UV_WORKING_DIR 环境变量设置。

--exclude-newer exclude-newer

将候选包限制为在给定日期之前上传的版本。

日期与每个单独分发制品(distribution artifact)的上传时间(即每个文件上传到包索引的时间)进行比较,而非包版本的发布日期。

接受 RFC 3339 时间戳(例如 2006-12-02T02:07:43Z)、相同格式的本地日期(例如 2006-12-02,基于系统配置的时区解析)、"友好"持续时间(例如 24 hours1 week30 days)或 ISO 8601 持续时间(例如 PT24HP7DP30D)。

持续时间不遵循本地时区语义,始终按固定秒数计算,假设一天为 24 小时(例如,忽略夏令时转换)。不允许使用月和年等日历单位。

也可通过 UV_EXCLUDE_NEWER 环境变量设置。

--extra-index-url extra-index-url

(已弃用:请改用 --index)除 --index-url 之外要使用的额外包索引 URL。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --index-url 指定的索引(默认为 PyPI)。当提供多个 --extra-index-url 标志时,优先级按先后顺序递减。

也可通过 UV_EXTRA_INDEX_URL 环境变量设置。

在注册表索引之外,搜索候选分发包的额外位置。

如果提供的是路径,目标必须是一个目录,其顶层包含作为 wheel 文件(.whl)或源代码分发包(例如 .tar.gz.zip)的包。

如果提供的是 URL,页面必须包含一个扁平列表,其中包含符合上述格式的包文件链接。

也可通过 UV_FIND_LINKS 环境变量设置。

--help, -h

显示此命令的简洁帮助信息

--index index

解析依赖时使用的 URL,作为默认索引的补充。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志提供的所有索引优先级高于由 --default-index 指定的索引(默认为 PyPI)。当提供多个 --index 标志时,优先级按先后顺序递减。

不支持将索引名称作为值。相对路径必须通过 ./../(Unix 上)或 .\\..\\./../(Windows 上)与索引名称进行区分。

也可通过 UV_INDEX 环境变量设置。

--index-strategy index-strategy

针对多个索引 URL 进行解析时使用的策略。

默认情况下,uv 会在第一个包含给定包的索引处停止,并将解析范围限制为在该第一个索引(first-index)中存在的包。这可以防止"依赖混淆"攻击,即攻击者可以在备用索引上以相同名称上传恶意包。

也可通过 UV_INDEX_STRATEGY 环境变量设置。

可选值:

  • first-index: 仅使用第一个返回给定包名匹配的索引的结果
  • unsafe-first-match: 搜索所有索引中的每个包名,在切换到下一个索引之前耗尽第一个索引的版本
  • unsafe-best-match: 搜索所有索引中的每个包名,优先选择找到的"最佳"版本。如果一个包版本存在于多个索引中,则仅查看第一个索引的条目
--index-url, -i index-url

(已弃用:请改用 --default-index)Python 包索引的 URL(默认为 https://pypi.org/simple)。

接受符合 PEP 503(简单仓库 API)的仓库,或按相同格式组织的本地目录。

通过此标志指定的索引优先级低于通过 --extra-index-url 标志指定的所有其他索引。

也可通过 UV_INDEX_URL 环境变量设置。

--invert, --reverse

Show the reverse dependencies for the given package. This flag will invert the tree and display the packages that depend on the given package

--keyring-provider keyring-provider

尝试使用 keyring 对索引 URL 进行身份验证。

目前仅支持 --keyring-provider subprocess,该选项配置 uv 使用 keyring CLI 来处理身份验证。

默认为 disabled

也可通过 UV_KEYRING_PROVIDER 环境变量设置。

可选值:

  • disabled: 不使用 keyring 进行凭据查找
  • subprocess: 使用 keyring 命令进行凭据查找
--managed-python

Require use of uv-managed Python versions [env: UV_MANAGED_PYTHON=]

默认情况下,uv 优先使用其管理的 Python 版本。但是,如果没有安装 uv 管理的 Python 版本,则会使用系统 Python 版本。此选项禁用系统 Python 版本的使用。

--no-cache, --no-cache-dir, -n

避免读取或写入缓存,而是在操作期间使用临时目录

也可通过 UV_NO_CACHE 环境变量设置。

--no-config

避免发现配置文件(pyproject.tomluv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可通过 UV_NO_CONFIG 环境变量设置。

--no-dedupe

Do not de-duplicate repeated dependencies. Usually, when a package has already displayed its dependencies, further occurrences will not re-display its dependencies, and will include a (*) to indicate it has already been shown. This flag will cause those duplicates to be repeated

--no-index

忽略注册表索引(例如 PyPI),转而依赖直接 URL 依赖和通过 --find-links 提供的依赖

--no-managed-python

禁用使用 uv 管理的 Python 版本 [env: UV_NO_MANAGED_PYTHON=]

uv 将改为在系统上搜索合适的 Python 版本。

--no-progress

隐藏所有进度输出 [env: UV_NO_PROGRESS=]

例如,spinner 或进度条。

--no-python-downloads

禁用自动下载 Python。

--offline

禁用网络访问 [env: UV_OFFLINE=]

禁用后,uv 将仅使用本地缓存数据和本地可用文件。

--outdated

Show the latest available version of each package in the tree

--package package

Display only the specified packages

--project project

在给定目录中发现项目。

所有 pyproject.tomluv.toml.python-version 文件将通过从项目根目录向上遍历目录树来发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 以完全更改工作目录。

此设置在 uv pip 接口中使用时无效。

也可通过 UV_PROJECT 环境变量设置。

--prune prune

Prune the given package from the display of the dependency tree

--python, -p python

The Python interpreter for which packages should be listed.

By default, uv lists packages in a virtual environment but will show packages in a system Python environment if no virtual environment is found.

参见 uv python 了解 Python 发现机制和支持的请求格式的详细信息。

May also be set with the UV_PYTHON environment variable.

--quiet, -q

使用静默输出。

重复此选项(如 -qq)将启用静默模式,uv 将不会向 stdout 写入任何输出。

--show-sizes

Show compressed wheel sizes for packages in the tree

--show-version-specifiers

Show the version constraint(s) imposed on each package

--strict

Validate the Python environment, to detect packages with missing dependencies and other issues

--system

List packages in the system Python environment.

禁用虚拟环境的发现。

参见 uv python 了解 Python 发现机制的详细信息。

May also be set with the UV_SYSTEM_PYTHON environment variable.

--system-certs

是否从平台的原生证书存储加载 TLS 证书 [env: UV_SYSTEM_CERTS=]

默认情况下,uv 使用捆绑的 Mozilla 根证书,这提高了可移植性和性能(尤其是在 macOS 上)。

但是,在某些情况下,您可能需要使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根(例如,用于强制代理)时。

--verbose, -v

使用详细输出。

您可以使用 RUST_LOG 环境变量配置细粒度日志记录。(https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives

uv pip check

验证已安装的包是否具有兼容的依赖

Usage

uv pip check [OPTIONS]

Options

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机的非安全连接。

可以多次提供。

期望接收主机名(如 localhost)、主机-端口对(如 localhost:8080)或 URL(如 https://localhost)。

警告:此列表中的主机将不会根据系统证书存储进行验证。仅在具有已验证来源的安全网络中使用 --allow-insecure-host,因为它会绕过 SSL 验证,可能使您面临中间人攻击(MITM)的风险。

也可以通过 UV_INSECURE_HOST 环境变量设置。

--cache-dir cache-dir

缓存目录的路径。

默认值为 $XDG_CACHE_HOME/uv$HOME/.cache/uv(macOS 和 Linux),以及 %LOCALAPPDATA%\uv\cache(Windows)。

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv 在写入终端时会自动检测颜色支持。

可选值:

  • auto: 仅在输出到支持颜色的终端或 TTY 时启用彩色输出
  • always: 无论检测到的环境如何,始终启用彩色输出
  • never: 禁用彩色输出
--config-file config-file

用于配置的 uv.toml 文件路径。

虽然 uv 配置可以包含在 pyproject.toml 文件中,但在此上下文中不允许。

也可以通过 UV_CONFIG_FILE 环境变量设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径将以给定目录为基准进行解析。

参见 --project 仅更改项目根目录。

也可以通过 UV_WORKING_DIR 环境变量设置。

--help, -h

显示此命令的简洁帮助信息

--managed-python

Require use of uv-managed Python versions [env: UV_MANAGED_PYTHON=]

默认情况下,uv 优先使用其管理的 Python 版本。但是,如果没有安装 uv 管理的 Python 版本,则会使用系统 Python 版本。此选项禁用系统 Python 版本的使用。

--no-cache, --no-cache-dir, -n

避免读取或写入缓存,而是在操作期间使用临时目录

也可通过 UV_NO_CACHE 环境变量设置。

--no-config

避免发现配置文件(pyproject.tomluv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可通过 UV_NO_CONFIG 环境变量设置。

--no-managed-python

禁用使用 uv 管理的 Python 版本 [env: UV_NO_MANAGED_PYTHON=]

uv 将改为在系统上搜索合适的 Python 版本。

--no-progress

隐藏所有进度输出 [env: UV_NO_PROGRESS=]

例如,spinner 或进度条。

--no-python-downloads

禁用自动下载 Python。

--offline

禁用网络访问 [env: UV_OFFLINE=]

禁用后,uv 将仅使用本地缓存数据和本地可用文件。

--project project

在给定目录中发现项目。

所有 pyproject.tomluv.toml.python-version 文件将通过从项目根目录向上遍历目录树来发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 以完全更改工作目录。

此设置在 uv pip 接口中使用时无效。

也可通过 UV_PROJECT 环境变量设置。

--python, -p python

The Python interpreter for which packages should be checked.

By default, uv checks packages in a virtual environment but will check packages in a system Python environment if no virtual environment is found.

参见 uv python 了解 Python 发现机制和支持的请求格式的详细信息。

May also be set with the UV_PYTHON environment variable.

--python-platform python-platform

The platform for which packages should be checked.

By default, the installed packages are checked against the platform of the current interpreter.

表示为"目标三元组"(target triple),一个描述目标平台的字符串,包含 CPU、供应商和操作系统名称,如 x86_64-unknown-linux-gnuaarch64-apple-darwin

当目标为 macOS(Darwin)时,默认最低版本为 13.0。使用 MACOSX_DEPLOYMENT_TARGET 指定不同的最低版本,例如 14.0

当目标为 iOS 时,默认最低版本为 13.0。使用 IPHONEOS_DEPLOYMENT_TARGET 指定不同的最低版本,例如 14.0

当目标为 Android 时,默认最低 Android API 级别为 24。使用 ANDROID_API_LEVEL 指定不同的最低版本,例如 26

可选值:

  • windows: x86_64-pc-windows-msvc 的别名,Windows 的默认目标
  • linux: x86_64-unknown-linux-gnu 的别名,Linux 的默认目标
  • macos: aarch64-apple-darwin 的别名,macOS 的默认目标
  • x86_64-pc-windows-msvc: 64 位 x86 Windows 目标
  • aarch64-pc-windows-msvc: ARM64 Windows 目标
  • i686-pc-windows-msvc: 32 位 x86 Windows 目标
  • x86_64-unknown-linux-gnu: x86 Linux 目标。等效于 x86_64-manylinux_2_28
  • aarch64-apple-darwin: 基于 ARM 的 macOS 目标,如 Apple Silicon 设备上所见
  • x86_64-apple-darwin: x86 macOS 目标
  • aarch64-unknown-linux-gnu: ARM64 Linux 目标。等效于 aarch64-manylinux_2_28
  • aarch64-unknown-linux-musl: ARM64 Linux 目标
  • x86_64-unknown-linux-musl: x86_64 Linux 目标
  • riscv64-unknown-linux: RISCV64 Linux 目标
  • x86_64-manylinux2014: x86_64 目标,适用于 manylinux2014 平台。等效于 x86_64-manylinux_2_17
  • x86_64-manylinux_2_17: x86_64 目标,适用于 manylinux_2_17 平台
  • x86_64-manylinux_2_28: x86_64 目标,适用于 manylinux_2_28 平台
  • x86_64-manylinux_2_31: x86_64 目标,适用于 manylinux_2_31 平台
  • x86_64-manylinux_2_32: x86_64 目标,适用于 manylinux_2_32 平台
  • x86_64-manylinux_2_33: x86_64 目标,适用于 manylinux_2_33 平台
  • x86_64-manylinux_2_34: x86_64 目标,适用于 manylinux_2_34 平台
  • x86_64-manylinux_2_35: x86_64 目标,适用于 manylinux_2_35 平台
  • x86_64-manylinux_2_36: x86_64 目标,适用于 manylinux_2_36 平台
  • x86_64-manylinux_2_37: x86_64 目标,适用于 manylinux_2_37 平台
  • x86_64-manylinux_2_38: x86_64 目标,适用于 manylinux_2_38 平台
  • x86_64-manylinux_2_39: x86_64 目标,适用于 manylinux_2_39 平台
  • x86_64-manylinux_2_40: x86_64 目标,适用于 manylinux_2_40 平台
  • aarch64-manylinux2014: ARM64 目标,适用于 manylinux2014 平台。等效于 aarch64-manylinux_2_17
  • aarch64-manylinux_2_17: ARM64 目标,适用于 manylinux_2_17 平台
  • aarch64-manylinux_2_28: ARM64 目标,适用于 manylinux_2_28 平台
  • aarch64-manylinux_2_31: ARM64 目标,适用于 manylinux_2_31 平台
  • aarch64-manylinux_2_32: ARM64 目标,适用于 manylinux_2_32 平台
  • aarch64-manylinux_2_33: ARM64 目标,适用于 manylinux_2_33 平台
  • aarch64-manylinux_2_34: ARM64 目标,适用于 manylinux_2_34 平台
  • aarch64-manylinux_2_35: ARM64 目标,适用于 manylinux_2_35 平台
  • aarch64-manylinux_2_36: ARM64 目标,适用于 manylinux_2_36 平台
  • aarch64-manylinux_2_37: ARM64 目标,适用于 manylinux_2_37 平台
  • aarch64-manylinux_2_38: ARM64 目标,适用于 manylinux_2_38 平台
  • aarch64-manylinux_2_39: ARM64 目标,适用于 manylinux_2_39 平台
  • aarch64-manylinux_2_40: ARM64 目标,适用于 manylinux_2_40 平台
  • aarch64-linux-android: ARM64 Android 目标
  • x86_64-linux-android: x86_64 Android 目标
  • wasm32-pyodide2024: wasm32 目标,使用 Pyodide 2024 平台。适用于 Python 3.12。参见 https://pyodide.org/en/stable/development/abi/312.html
  • wasm32-pyodide2025: wasm32 目标,使用 Pyodide 2025 平台。适用于 Python 3.13。参见 https://pyodide.org/en/stable/development/abi/313.html
  • arm64-apple-ios: iOS 设备的 ARM64 目标
  • arm64-apple-ios-simulator: iOS 模拟器的 ARM64 目标
  • x86_64-apple-ios-simulator: iOS 模拟器的 x86_64 目标
--python-version python-version

The Python version against which packages should be checked.

By default, the installed packages are checked against the version of the current interpreter.

--quiet, -q

使用静默输出。

重复此选项(如 -qq)将启用静默模式,uv 将不会向 stdout 写入任何输出。

--system

Check packages in the system Python environment.

禁用虚拟环境的发现。

参见 uv python 了解 Python 发现机制的详细信息。

May also be set with the UV_SYSTEM_PYTHON environment variable.

--system-certs

是否从平台的原生证书存储加载 TLS 证书 [env: UV_SYSTEM_CERTS=]

默认情况下,uv 使用捆绑的 Mozilla 根证书,这提高了可移植性和性能(尤其是在 macOS 上)。

但是,在某些情况下,您可能需要使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根(例如,用于强制代理)时。

--verbose, -v

使用详细输出。

您可以使用 RUST_LOG 环境变量配置细粒度日志记录。(https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives