跳转到内容

CLI参考文档

uv

一个极快的Python包管理器。

使用说明

uv [OPTIONS] <COMMAND>

命令

uv run

运行命令或脚本

uv init

创建一个新项目

uv add

向项目添加依赖项

uv remove

从项目中移除依赖项

uv sync

更新项目的环境

uv lock

更新项目的锁文件

uv export

将项目的锁文件导出为替代格式

uv tree

显示项目的依赖关系树

uv tool

运行并安装Python包提供的命令

uv python

管理Python版本和安装

uv pip

使用与pip兼容的界面管理Python包

uv venv

创建一个虚拟环境

uv build

将Python包构建为源码发行版和wheel包

uv publish

上传分布数据到索引

uv cache

管理uv的缓存

uv self

管理uv可执行文件

uv version

读取或更新项目的版本

uv help

显示命令的文档

uv run

运行一个命令或脚本。

确保命令在Python环境中运行。

当使用以.py结尾的文件或HTTP(S) URL时,该文件将被视为脚本并通过Python解释器运行,即uv run file.py等同于uv run python file.py。对于URL,脚本会在执行前临时下载。如果脚本包含内联依赖元数据,它们将被安装到一个隔离的临时环境中。当使用-时,将从标准输入读取输入内容,并被视为Python脚本。

在项目中使用时,会在调用命令前创建并更新项目环境。

在项目外部使用时,如果在当前目录或父目录中找到虚拟环境,命令将在该环境中运行。否则,命令将在已发现解释器的环境中运行。

命令(或脚本)后的参数不会被解释为uv的参数。所有uv的选项必须在命令之前提供,例如uv run --verbose foo。为了清晰起见,可以使用--来分隔命令和uv选项,例如uv run --python 3.12 -- python

使用说明

uv run [OPTIONS] [COMMAND]

选项

--active

优先使用活动的虚拟环境而非项目的虚拟环境。

如果项目虚拟环境已激活或没有虚拟环境处于活动状态,则此操作无效。

--all-extras

包含所有可选依赖项。

可选依赖项通过pyproject.toml文件中的project.optional-dependencies进行定义。

此选项仅在项目中运行时可用。

--all-groups

包含所有依赖组中的依赖项。

--no-group 可用于排除特定组。

--all-packages

运行命令时需安装所有工作区成员。

工作区的环境(.venv)已更新,包含所有工作区成员。

通过--extra--group或相关选项指定的任何额外参数或组将应用于所有工作区成员。

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--env-file env-file

.env文件加载环境变量。

可以多次提供,后续文件将覆盖先前文件中定义的值。

也可以通过 UV_ENV_FILE 环境变量进行设置。

--exact

执行精确同步,移除无关的包。

启用后,uv会从环境中移除所有无关的包。默认情况下,uv run只会进行满足需求所需的最小变更。

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

--extra extra

从指定的额外名称中包含可选依赖项。

可以多次提供。

可选依赖项通过pyproject.toml文件中的project.optional-dependencies进行定义。

此选项仅在项目中运行时可用。

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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版本,优化选择每个包的最新支持版本
--frozen

运行时不更新uv.lock文件。

不再检查锁文件是否最新,而是将锁文件中的版本视为唯一可信来源。如果锁文件缺失,uv会报错退出。如果pyproject.toml包含尚未纳入锁文件的依赖项变更,这些变更将不会体现在环境中。

也可以通过 UV_FROZEN 环境变量进行设置。

--group group

包含来自指定依赖组的依赖项。

可以多次提供。

--gui-script

将给定路径作为Python GUI脚本运行。

使用 --gui-script 参数会尝试将路径解析为 PEP 723 脚本并使用 pythonw.exe 运行,无论其扩展名如何。仅适用于 Windows 系统。

--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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(默认为:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--isolated

在隔离的虚拟环境中运行该命令。

通常,项目环境会被重复使用以提高性能。此选项强制为项目使用全新的环境,确保依赖项与需求声明之间的严格隔离。

该项目仍在使用可编辑安装方式。

当与--with--with-requirements一起使用时,额外的依赖项仍将在第二个环境中分层安装。

--keyring-provider keyring-provider

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

目前仅支持--keyring-provider subprocess,该选项配置uv使用keyring命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--locked

断言 uv.lock 将保持不变。

要求锁文件必须是最新的。如果锁文件缺失或需要更新,uv将报错退出。

也可以通过设置环境变量 UV_LOCKED 来实现。

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--module, -m

运行一个Python模块。

等同于 python -m

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-default-groups

忽略默认的依赖组。

uv默认包含tool.uv.default-groups中定义的群组。此选项会禁用该功能,但仍可通过--group参数包含特定群组。

--no-dev

禁用开发依赖组。

此选项是--no-group dev的别名。如需禁用所有默认组,请参阅--no-default-groups

此选项仅在项目中运行时可用。

--no-editable

安装任何可编辑的依赖项,包括项目和任何工作区成员,作为不可编辑项

也可以通过设置环境变量 UV_NO_EDITABLE 来实现。

--no-env-file

避免从.env文件中读取环境变量

也可以通过 UV_NO_ENV_FILE 环境变量进行设置。

--no-extra no-extra

如果提供了--all-extras选项,则排除指定的可选依赖项。

可以多次提供。

--no-group no-group

禁用指定的依赖组。

该选项始终优先于默认组、--all-groups--group

可以多次提供。

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-project, --no_workspace

避免发现项目或工作区。

无需在当前目录和父目录中搜索项目,而是在一个由--with需求填充的隔离临时环境中运行。

如果当前或父目录中存在活动的虚拟环境,将使用该环境,就像没有项目或工作区一样。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--no-sync

避免同步虚拟环境。

隐含--frozen选项,因为项目依赖将被忽略(即锁定文件不会更新,因为无论如何环境都不会同步)。

也可以通过设置环境变量 UV_NO_SYNC 来实现。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--only-dev

仅包含开发依赖组。

该项目及其依赖项将被忽略。

此选项是--only-group dev的别名。隐含--no-default-groups

--only-group only-group

仅包含来自指定依赖组的依赖项。

该项目及其依赖项将被忽略。

可以多次提供。隐含 --no-default-groups

--package package

在工作区中的特定包中运行命令。

如果工作区成员不存在,uv将报错退出。

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

用于运行环境的Python解释器。

如果解释器请求由发现的环境满足,则将使用该环境。

查看uv python以了解支持的请求格式。

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

重新安装所有软件包,无论它们是否已安装。隐含--refresh

--reinstall-package reinstall-package

重新安装特定包,无论是否已安装。隐含--refresh-package

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

将给定路径作为Python脚本运行。

使用 --script 将尝试将路径解析为 PEP 723 脚本,无论其扩展名如何。

--upgrade, -U

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. ()

--with with

使用已安装的指定包运行。

在项目中使用时,这些依赖项将被分层放置在一个独立的临时环境中的项目环境之上。允许这些依赖项与项目指定的依赖项发生冲突。

--with-editable with-editable

以可编辑模式运行并安装给定的包。

在项目中使用时,这些依赖项将被分层放置在一个独立的临时环境中的项目环境之上。这些依赖项允许与项目指定的依赖项发生冲突。

--with-requirements with-requirements

运行给定requirements.txt文件中列出的所有包。

--with 相同的环境语义适用。

不允许使用pyproject.tomlsetup.pysetup.cfg文件。

uv init

创建一个新项目。

遵循 pyproject.toml 规范。

如果目标位置已存在pyproject.toml文件,uv将报错退出。

如果在目标路径的任意父目录中发现pyproject.toml文件,该项目将被添加为父工作区的成员。

某些项目状态在需要时才会创建,例如项目虚拟环境(.venv)和锁定文件(uv.lock)会在首次同步时延迟创建。

使用说明

uv init [OPTIONS] [PATH]

参数

PATH

项目/脚本使用的路径。

初始化应用或库时默认为当前工作目录;初始化脚本时必须指定。接受相对路径和绝对路径。

如果在目标路径的任意父目录中发现pyproject.toml文件,该项目将被添加为父工作区的成员,除非提供了--no-workspace参数。

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--app, --application

为应用程序创建一个项目。

如果未请求--lib,这是默认行为。

该项目类型适用于Web服务器、脚本和命令行界面。

默认情况下,应用程序并非设计为以Python包的形式构建和分发。使用--package选项可以创建可分发的应用程序,例如,如果你想通过PyPI分发命令行界面。

--author-from author-from

填写pyproject.toml中的authors字段。

默认情况下,uv会尝试从某些来源(例如Git)推断作者信息(auto)。使用--author-from git仅从Git配置中推断。使用--author-from none以避免推断作者信息。

可能的取值:

  • auto: 自动从某些来源(如Git)获取作者信息
  • git: 仅从Git配置中获取作者信息
  • none: 不推断作者信息
--bare

仅创建一个pyproject.toml文件。

禁用创建额外文件,如README.mdsrc/目录树、.python-version文件等。

--build-backend build-backend

为项目初始化一个选择的构建后端。

隐式设置 --package

可能的取值:

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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环境变量进行设置。

--description description

设置项目描述

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--lib, --library

为图书馆创建一个项目。

库是一个旨在构建并作为Python包分发的项目。

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--name name

项目名称。

默认为目录名称。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-description

禁用该项目的描述

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-package

不要将项目设置为构建为Python包。

不包括项目的[build-system]

这是使用--app时的默认行为。

--no-pin-python

不要为项目创建.python-version文件。

默认情况下,uv会创建一个.python-version文件,其中包含发现的Python解释器的次要版本号,这将导致后续的uv命令使用该版本。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-readme

不要创建README.md文件

--no-workspace, --no-project

避免发现工作区并创建一个独立的项目。

默认情况下,uv会在当前目录或任何父目录中搜索工作区。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--package

将项目设置为构建为Python包。

为项目定义[build-system]

这是使用--lib--build-backend时的默认行为。

使用--app时,这将包含一个[project.scripts]入口点并使用src/项目结构。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

用于确定最低支持Python版本的Python解释器。

查看uv python以了解支持的请求格式。

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--script

创建一个脚本。

脚本是一个独立的文件,其中嵌入了枚举其依赖项的元数据,以及根据PEP 723规范定义的任何Python版本要求。

PEP 723 脚本可以直接使用 uv run 执行。

默认情况下,会添加对系统Python版本的要求;使用--python来指定替代的Python版本要求。

--vcs vcs

为项目初始化一个版本控制系统。

默认情况下,uv会初始化一个Git仓库(git)。使用--vcs none可以明确避免初始化版本控制系统。

可能的取值:

  • git: 使用Git进行版本控制
  • none: 不使用任何版本控制系统
--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv add

向项目添加依赖项。

依赖项会被添加到项目的pyproject.toml文件中。

如果给定的依赖项已存在,除非它包含与现有规范不同的标记(在这种情况下将为该依赖项添加另一个条目),否则它将更新为新的版本规范。

如果没有为依赖项提供约束条件或URL,系统会自动添加一个下限版本号,等于该软件包的最新兼容版本,例如>=1.2.3。但如果提供了--frozen参数,则不会执行版本解析。

lockfile和项目环境将被更新以反映新增的依赖项。若要跳过lockfile更新,请使用--frozen。若要跳过环境更新,请使用--no-sync

如果无法找到任何请求的依赖项,uv将退出并报错,除非提供了--frozen标志,在这种情况下,uv将直接添加依赖项而不检查它们是否存在或与项目兼容。

uv会在当前目录或任何父目录中搜索项目。如果找不到项目,uv将报错退出。

使用说明

uv add [OPTIONS] <PACKAGES|--requirements <REQUIREMENTS>>

参数

要添加的包,需符合PEP 508规范要求(例如,ruff==0.5.0

选项

--active

优先使用活动的虚拟环境而非项目的虚拟环境。

如果项目虚拟环境已激活或没有虚拟环境处于活动状态,则此操作无效。

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--branch branch

从Git添加依赖时使用的分支

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--constraints, --constraint, -c constraints

使用给定的需求文件约束版本。

约束文件是类似requirements.txt的文件,仅控制已安装需求的版本。这些约束条件不会被添加到项目的pyproject.toml文件中,但在依赖项解析期间被遵循。

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

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

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--dev

将需求添加到开发依赖组中。

此选项是--group dev的别名。

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--editable

将需求添加为可编辑项

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

--extra extra

为依赖项启用的额外功能。

可以多次提供。

要将此依赖项添加为可选额外项,请参阅--optional

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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版本,优化选择每个包的最新支持版本
--frozen

添加依赖项而无需重新锁定项目。

项目环境将不会同步。

也可以通过 UV_FROZEN 环境变量进行设置。

--group group

将需求添加到指定的依赖组。

这些要求不会包含在项目发布的元数据中。

--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--locked

断言 uv.lock 将保持不变。

要求锁文件必须是最新的。如果锁文件缺失或需要更新,uv将报错退出。

也可以通过设置环境变量 UV_LOCKED 来实现。

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--marker, -m marker

将此标记应用于所有已添加的包

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--no-sync

避免同步虚拟环境

也可以通过设置环境变量 UV_NO_SYNC 来实现。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--optional optional

将需求添加到指定额外功能的包的可选依赖项中。

在安装项目时,可以通过--extra标志来激活该组。

要为该需求启用可选附加功能,请参阅--extra

--package package

将依赖项添加到工作区中的特定包

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

用于解析和同步的Python解释器。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--raw, --raw-sources

添加一个依赖项作为provided。

默认情况下,uv会使用tool.uv.sources部分来记录Git、本地、可编辑和直接URL依赖项的来源信息。当提供--raw参数时,uv会将来源依赖项添加到project.dependencies中,而不是tool.uv.sources

此外,默认情况下,uv会为您的依赖项添加版本限制,例如foo>=1.0.0。当提供--raw参数时,uv将添加无版本限制的依赖项。

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

重新安装所有软件包,无论它们是否已安装。隐含--refresh

--reinstall-package reinstall-package

重新安装特定包,无论是否已安装。隐含--refresh-package

--requirements, --requirement, -r requirements

添加给定requirements.txt文件中列出的所有包

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

从Git添加依赖项时使用的提交

--script script

将依赖项添加到指定的Python脚本,而不是添加到项目中。

如果提供,uv 将按照 PEP 723 规范将该依赖项添加到脚本的内联元数据表中。如果不存在这样的内联元数据表,则会创建新表并添加到脚本中。当通过 uv run 执行时,uv 将为脚本创建一个临时环境,并安装所有内联依赖项。

--tag tag

从Git添加依赖时使用的标签

--upgrade, -U

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv remove

从项目中移除依赖项。

依赖项已从项目的pyproject.toml文件中移除。

如果某个依赖项存在多个条目(即每个条目具有不同的标记),则所有这些条目都将被移除。

锁定文件和项目环境将被更新以反映移除的依赖项。若要跳过更新锁定文件,请使用--frozen。若要跳过更新环境,请使用--no-sync

如果项目中缺少任何请求的依赖项,uv将报错退出。

如果某个包已通过uv pip install手动安装到环境中,那么使用uv remove将不会移除该包。

uv会在当前目录或任何父目录中搜索项目。如果找不到项目,uv将报错退出。

使用说明

uv remove [OPTIONS] <PACKAGES>...

参数

要移除的依赖项名称(例如,ruff

选项

--active

优先使用活动的虚拟环境而非项目的虚拟环境。

如果项目虚拟环境已激活或没有虚拟环境处于活动状态,则此操作无效。

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--dev

从开发依赖组中移除这些包。

此选项是--group dev的别名。

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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版本,优化选择每个包的最新支持版本
--frozen

移除依赖项而无需重新锁定项目。

项目环境将不会同步。

也可以通过 UV_FROZEN 环境变量进行设置。

--group group

从指定的依赖组中移除这些包

--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--locked

断言 uv.lock 将保持不变。

要求锁文件必须是最新的。如果锁文件缺失或需要更新,uv将报错退出。

也可以通过设置环境变量 UV_LOCKED 来实现。

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--no-sync

避免在重新锁定项目后同步虚拟环境

也可以通过设置环境变量 UV_NO_SYNC 来实现。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--可选 optional

从项目的可选依赖项中移除指定额外项的包

--package package

从工作区中移除特定包的依赖项

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

用于解析和同步的Python解释器。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

重新安装所有软件包,无论它们是否已安装。隐含--refresh

--reinstall-package reinstall-package

重新安装特定包,无论是否已安装。隐含--refresh-package

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

从指定的Python脚本中移除依赖项,而不是从项目中移除。

如果提供,uv将根据PEP 723规范从脚本的内联元数据表中移除该依赖项。

--upgrade, -U

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv 同步

更新项目的环境。

同步操作确保所有项目依赖项都已安装并与lockfile保持最新状态。

默认情况下,uv会执行精确同步:移除未被声明为项目依赖的包。使用--inexact标志可以保留无关的包。请注意,如果无关包与项目依赖发生冲突,仍会被移除。此外,若使用--no-build-isolation参数,uv将不会移除无关包以避免删除可能的构建依赖项。

如果项目的虚拟环境(.venv)不存在,将会创建它。

在同步前项目会被重新锁定,除非提供了--locked--frozen标志。

uv会在当前目录或任何父目录中搜索项目。如果找不到项目,uv将报错退出。

请注意,当从锁文件安装时,uv不会针对已撤回的包版本提供警告。

使用说明

uv sync [OPTIONS]

选项

--active

将依赖项同步到当前活动的虚拟环境中。

如果设置了VIRTUAL_ENV环境变量,将优先使用当前激活的虚拟环境,而不是为项目或脚本创建或更新虚拟环境。

--all-extras

包含所有可选依赖项。

当在tool.uv.conflicts中声明两个或多个附加项存在冲突时,使用此标志将始终导致错误。

请注意,所有可选依赖项始终会被包含在解析过程中;此选项仅影响要安装的软件包选择。

--all-groups

包含所有依赖组中的依赖项。

--no-group 可用于排除特定组。

--all-packages

同步工作区中的所有包。

工作区的环境(.venv)已更新,包含所有工作区成员。

通过--extra--group或相关选项指定的任何额外参数或组将应用于所有工作区成员。

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

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

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

--check

检查Python环境是否与项目同步。

如果环境不是最新的,uv将报错退出。

--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构建后端的设置,以KEY=VALUE键值对形式指定

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--dry-run

执行一次模拟运行,不写入锁文件或修改项目环境。

在dry-run模式下,uv会解析项目的依赖关系,并报告对锁文件和项目环境的最终更改,但不会修改任何内容。

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

--extra extra

从指定的额外名称中包含可选依赖项。

可以多次提供。

当指定了多个出现在tool.uv.conflicts中的额外项或组时,uv会报错。

请注意,所有可选依赖项始终会被包含在解析过程中;此选项仅影响要安装的软件包选择。

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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版本,优化选择每个包的最新支持版本
--frozen

同步而不更新uv.lock文件。

不再检查锁文件是否最新,而是将锁文件中的版本视为唯一可信来源。如果锁文件缺失,uv会报错退出。如果pyproject.toml包含尚未纳入锁文件的依赖项变更,这些变更将不会体现在环境中。

也可以通过 UV_FROZEN 环境变量进行设置。

--group group

包含来自指定依赖组的依赖项。

当指定了多个出现在tool.uv.conflicts中的额外项或组时,uv会报错。

可以多次提供。

--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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环境变量进行设置。

--inexact, --no-exact

不要移除环境中存在的额外包。

启用后,uv将进行最小必要更改以满足需求。默认情况下,同步操作会从环境中移除所有多余包

--keyring-provider keyring-provider

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

目前仅支持--keyring-provider subprocess,该选项配置uv使用keyring命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--locked

断言 uv.lock 将保持不变。

要求锁文件必须是最新的。如果锁文件缺失或需要更新,uv将报错退出。

也可以通过设置环境变量 UV_LOCKED 来实现。

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-default-groups

忽略默认的依赖组。

uv默认包含tool.uv.default-groups中定义的群组。此选项会禁用该功能,但仍可通过--group参数包含特定群组。

--no-dev

禁用开发依赖组。

此选项是--no-group dev的别名。如需禁用所有默认组,请参阅--no-default-groups

--no-editable

安装任何可编辑的依赖项,包括项目和任何工作区成员,作为不可编辑项

也可以通过设置环境变量 UV_NO_EDITABLE 来实现。

--no-extra no-extra

如果提供了--all-extras选项,则排除指定的可选依赖项。

可以多次提供。

--no-group no-group

禁用指定的依赖组。

该选项始终优先于默认组、--all-groups--group

可以多次提供。

--no-index

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

--no-install-package no-install-package

不要安装给定的包。

默认情况下,项目的所有依赖项都会安装到环境中。--no-install-package选项允许排除特定包。请注意这可能导致环境损坏,应谨慎使用。

--no-install-project

不要安装当前项目。

默认情况下,当前项目会与其所有依赖项一起安装到环境中。--no-install-project选项允许排除项目本身,但仍会安装其所有依赖项。这在构建Docker镜像等场景中特别有用,因为将项目与其依赖项分开安装可以实现最优化的分层缓存。

--no-install-workspace

不要安装任何工作区成员,包括根项目。

默认情况下,所有工作区成员及其依赖项都会被安装到环境中。--no-install-workspace选项允许排除所有工作区成员,同时保留它们的依赖项。这在构建Docker镜像等场景中特别有用,因为将工作区与其依赖项分开安装可以实现最优化的层缓存。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--only-dev

仅包含开发依赖组。

该项目及其依赖项将被忽略。

此选项是--only-group dev的别名。隐含--no-default-groups

--only-group only-group

仅包含来自指定依赖组的依赖项。

该项目及其依赖项将被忽略。

可以多次提供。隐含 --no-default-groups

--package package

同步工作区中的特定包。

工作区的环境(.venv)已更新,以反映指定工作区成员包声明的依赖项子集。

如果工作区成员不存在,uv将报错退出。

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

用于项目环境的Python解释器。

默认情况下,系统会使用第一个满足项目requires-python约束条件的解释器。

如果在虚拟环境中提供了Python解释器,软件包将不会同步到给定的环境中。该解释器将用于在项目中创建一个虚拟环境。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

重新安装所有软件包,无论它们是否已安装。隐含--refresh

--reinstall-package reinstall-package

重新安装特定包,无论是否已安装。隐含--refresh-package

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

同步Python脚本的环境,而非当前项目。

如果提供,uv将根据脚本的内联元数据表同步依赖项,以遵循PEP 723。

--upgrade, -U

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv lock

更新项目的锁文件。

如果项目锁文件(uv.lock)不存在,将会创建它。如果锁文件已存在,其内容将被用作解析的首选项。

如果项目的依赖项没有变化,除非提供了--upgrade标志,否则锁定将不会生效。

使用说明

uv lock [OPTIONS]

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

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

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

--check, --locked

检查锁文件是否为最新版本。

断言uv.lock在解析后会保持不变。如果锁文件缺失或需要更新,uv将报错退出。

等同于 --locked

也可以通过设置环境变量 UV_LOCKED 来实现。

--check-exists, --frozen

断言存在一个uv.lock而不检查它是否是最新的。

等同于 --frozen

也可以通过 UV_FROZEN 环境变量进行设置。

--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构建后端的设置,以KEY=VALUE键值对形式指定

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--dry-run

执行一次模拟运行,不写入锁定文件。

在dry-run(试运行)模式下,uv会解析项目的依赖关系并报告最终的变化结果,但不会将lockfile写入磁盘。

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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版本,优化选择每个包的最新支持版本
--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

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

在没有wheel文件时,构建源码发行版需要一个Python解释器来确定包的元数据。

如果未设置requires-python,解释器版本也将作为最低Python版本的默认值。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

锁定指定的Python脚本,而不是当前项目。

如果提供,uv将根据脚本的内联元数据表(遵循PEP 723规范)将其锁定到脚本本身相邻的.lock文件中。

--upgrade, -U

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv export

将项目的锁文件导出为替代格式。

目前支持requirements.txtpylock.toml(PEP 751)两种格式。

项目在导出前会重新锁定,除非提供了--locked--frozen标志。

uv会在当前目录或任何父目录中搜索项目。如果找不到项目,uv将报错退出。

如果在工作区中操作,默认会导出根目录;但可以使用--package选项选择特定成员。

使用说明

uv export [OPTIONS]

选项

--all-extras

包含所有可选依赖项

--all-groups

包含所有依赖组中的依赖项。

--no-group 可用于排除特定组。

--all-packages

导出整个工作区。

所有工作区成员的依赖项都将包含在导出的需求文件中。

通过--extra--group或相关选项指定的任何额外参数或组将应用于所有工作区成员。

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

--extra extra

从指定的额外名称中包含可选依赖项。

可以多次提供。

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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

uv.lock导出到的格式。

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

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

可能的取值:

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

在导出之前不要更新uv.lock

如果uv.lock不存在,uv将报错退出。

也可以通过 UV_FROZEN 环境变量进行设置。

--group group

包含来自指定依赖组的依赖项。

可以多次提供。

--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--locked

断言 uv.lock 将保持不变。

要求锁文件必须是最新的。如果锁文件缺失或需要更新,uv将报错退出。

也可以通过设置环境变量 UV_LOCKED 来实现。

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-annotate

排除标明每个包来源的注释说明

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-default-groups

忽略默认的依赖组。

uv默认包含tool.uv.default-groups中定义的群组。此选项会禁用该功能,但仍可通过--group参数包含特定群组。

--no-dev

禁用开发依赖组。

此选项是--no-group dev的别名。如需禁用所有默认组,请参阅--no-default-groups

--no-editable

将所有可编辑的依赖项(包括项目及任何工作区成员)导出为不可编辑形式

--no-emit-package, --no-install-package no-emit-package

不发出给定的包。

默认情况下,项目所有依赖项都会包含在导出的requirements文件中。--no-emit-package选项允许排除特定包。

--no-emit-project, --no-install-project

不要发出当前项目。

默认情况下,当前项目及其所有依赖项会被包含在导出的需求文件中。使用--no-emit-project选项可以排除项目本身,但保留其所有依赖项。

--no-emit-workspace, --no-install-workspace

不要输出任何工作区成员,包括根项目。

默认情况下,所有工作区成员及其依赖项都会包含在导出的需求文件中,包括它们的所有依赖项。--no-emit-workspace选项允许排除所有工作区成员,同时保留它们的依赖项。

--no-extra no-extra

如果提供了--all-extras选项,则排除指定的可选依赖项。

可以多次提供。

--no-group no-group

禁用指定的依赖组。

该选项始终优先于默认组、--all-groups--group

可以多次提供。

--no-hashes

在生成的输出中省略哈希值

--no-header

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

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--only-dev

仅包含开发依赖组。

该项目及其依赖项将被忽略。

此选项是--only-group dev的别名。隐含--no-default-groups

--only-group only-group

仅包含来自指定依赖组的依赖项。

该项目及其依赖项将被忽略。

可以多次提供。隐含 --no-default-groups

--output-file, -o output-file

将导出的需求写入指定文件

--package package

导出工作区中特定包的依赖项。

如果工作区成员不存在,uv将报错退出。

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--prune package

从依赖树中移除给定的包。

被修剪的包将从导出的需求文件中排除,同时被修剪包移除后不再需要的任何依赖项也将被排除。

--python, -p python

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

在没有wheel文件时,构建源码发行版需要一个Python解释器来确定包的元数据。

如果未设置requires-python,解释器版本也将作为最低Python版本的默认值。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

导出指定PEP 723 Python脚本的依赖项,而非当前项目。

如果提供,uv将根据其内联元数据表解析依赖关系,遵循PEP 723规范。

--upgrade, -U

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv tree

显示项目的依赖关系树

使用说明

uv tree [OPTIONS]

选项

--all-groups

包含所有依赖组中的依赖项。

--no-group 可用于排除特定组。

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--depth, -d depth

依赖树的最大显示深度

[默认值: 255]

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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版本,优化选择每个包的最新支持版本
--frozen

显示需求而不锁定项目。

如果lockfile文件缺失,uv将报错退出。

也可以通过 UV_FROZEN 环境变量进行设置。

--group group

包含来自指定依赖组的依赖项。

可以多次提供。

--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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

显示给定软件包的反向依赖关系。此标志将反转依赖树并展示依赖于该软件包的其它软件包

--keyring-provider keyring-provider

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

目前仅支持--keyring-provider subprocess,该选项配置uv使用keyring命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--locked

断言 uv.lock 将保持不变。

要求锁文件必须是最新的。如果锁文件缺失或需要更新,uv将报错退出。

也可以通过设置环境变量 UV_LOCKED 来实现。

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-dedupe

不要对重复的依赖项进行去重处理。通常情况下,当一个包的依赖关系已经显示过后,后续出现的相同依赖项将不再重复显示,并会标注(*)表示已展示过。启用此标志将使这些重复的依赖项再次显示

--no-default-groups

忽略默认的依赖组。

uv默认包含tool.uv.default-groups中定义的群组。此选项会禁用该功能,但仍可通过--group参数包含特定群组。

--no-dev

禁用开发依赖组。

此选项是--no-group dev的别名。如需禁用所有默认组,请参阅--no-default-groups

--no-group no-group

禁用指定的依赖组。

该选项始终优先于默认组、--all-groups--group

可以多次提供。

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--only-dev

仅包含开发依赖组。

该项目及其依赖项将被忽略。

此选项是--only-group dev的别名。隐含--no-default-groups

--only-group only-group

仅包含来自指定依赖组的依赖项。

该项目及其依赖项将被忽略。

可以多次提供。隐含 --no-default-groups

--outdated

显示树中每个包的最新可用版本

--package package

仅显示指定的包

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--prune prune

从依赖关系树的显示中移除给定的包

--python, -p python

用于锁定和过滤的Python解释器。

默认情况下,树状图会根据Python解释器报告的平台进行筛选匹配。使用--universal可显示适用于所有平台的树状图,或使用--python-version--python-platform来覆盖部分标记。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--python-platform python-platform

用于筛选树状结构的平台。

例如,传入 --platform windows 参数可显示在Windows系统上安装时将被包含的依赖项。

表示为"目标三元组",这是一个字符串,用于描述目标平台的CPU架构、供应商和操作系统名称,例如x86_64-unknown-linux-gnuaarch64-apple-darwin

可能的取值:

  • 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目标平台
  • i686-pc-windows-msvc: 32位x86 Windows目标平台
  • x86_64-unknown-linux-gnu: 一个x86 Linux目标平台。等同于x86_64-manylinux_2_17
  • aarch64-apple-darwin: 基于ARM架构的macOS目标平台,常见于Apple Silicon设备
  • x86_64-apple-darwin: 一个x86架构的macOS目标平台
  • aarch64-unknown-linux-gnu: ARM64 Linux目标平台。等同于aarch64-manylinux_2_17
  • aarch64-unknown-linux-musl: ARM64 Linux目标平台
  • x86_64-unknown-linux-musl: 一个x86_64 Linux目标平台
  • x86_64-manylinux2014: 一个针对manylinux2014平台的x86_64目标。等同于x86_64-manylinux_2_17
  • x86_64-manylinux_2_17: 一个针对manylinux_2_17平台的x86_64目标架构
  • x86_64-manylinux_2_28: 一个针对manylinux_2_28平台的x86_64目标架构
  • x86_64-manylinux_2_31: 一个针对manylinux_2_31平台的x86_64目标
  • x86_64-manylinux_2_32: 一个针对manylinux_2_32平台的x86_64目标架构
  • x86_64-manylinux_2_33: 一个针对manylinux_2_33平台的x86_64目标架构
  • x86_64-manylinux_2_34: 一个针对manylinux_2_34平台的x86_64目标
  • x86_64-manylinux_2_35: 一个针对manylinux_2_35平台的x86_64目标架构
  • x86_64-manylinux_2_36: 一个针对manylinux_2_36平台的x86_64目标架构
  • x86_64-manylinux_2_37: 一个针对manylinux_2_37平台的x86_64目标架构
  • x86_64-manylinux_2_38: 一个针对manylinux_2_38平台的x86_64目标架构
  • x86_64-manylinux_2_39: 一个针对manylinux_2_39平台的x86_64目标架构
  • x86_64-manylinux_2_40: 一个针对manylinux_2_40平台的x86_64目标架构
  • aarch64-manylinux2014: 针对manylinux2014平台的ARM64目标架构。等同于aarch64-manylinux_2_17
  • aarch64-manylinux_2_17: 一个针对manylinux_2_17平台的ARM64目标架构
  • aarch64-manylinux_2_28: 一个针对manylinux_2_28平台的ARM64架构目标
  • aarch64-manylinux_2_31: 一个针对manylinux_2_31平台的ARM64目标架构
  • aarch64-manylinux_2_32: 一个针对manylinux_2_32平台的ARM64目标架构
  • aarch64-manylinux_2_33: ARM64架构目标平台,适用于manylinux_2_33平台
  • aarch64-manylinux_2_34: 一个针对manylinux_2_34平台的ARM64目标架构
  • aarch64-manylinux_2_35: 针对manylinux_2_35平台的ARM64架构目标
  • aarch64-manylinux_2_36: manylinux_2_36 平台的 ARM64 目标架构
  • aarch64-manylinux_2_37: 针对manylinux_2_37平台的ARM64架构目标
  • aarch64-manylinux_2_38: 一个针对manylinux_2_38平台的ARM64架构目标
  • aarch64-manylinux_2_39: 一个针对manylinux_2_39平台的ARM64目标架构
  • aarch64-manylinux_2_40: 一个针对manylinux_2_40平台的ARM64架构目标
--python-version python-version

筛选树结构时使用的Python版本。

例如,传入 --python-version 3.10 来显示在 Python 3.10 上安装时会包含的依赖项。

默认为检测到的Python解释器版本。

--quiet, -q

使用静默输出。

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

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

显示指定PEP 723 Python脚本的依赖关系树,而非当前项目。

如果提供,uv将根据其内联元数据表解析依赖关系,遵循PEP 723规范。

--universal

显示一个平台无关的依赖关系树。

显示所有Python版本和平台已解析的包版本,而不是仅筛选与当前环境相关的版本。

每个包可能会显示多个版本。

--upgrade, -U

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv工具

运行并安装Python包提供的命令

使用说明

uv tool [OPTIONS] <COMMAND>

命令

uv tool run

运行由Python包提供的命令

uv tool install

安装由Python包提供的命令

uv tool upgrade

升级已安装的工具

uv tool list

列出已安装的工具

uv tool uninstall

卸载工具

uv tool update-shell

确保工具的可执行目录位于PATH环境变量中

uv tool dir

显示uv工具目录的路径

uv工具运行

运行由Python包提供的命令。

默认情况下,假设要安装的包与命令名称匹配。

命令名称可以包含精确版本号,格式为@,例如uv tool run [email protected]。如果需要更复杂的版本规范,或者命令由其他包提供,请使用--from

uvx 可用于调用Python,例如通过 uvx pythonuvx python@<版本>。这将在隔离的虚拟环境中启动Python解释器。

如果该工具之前已安装,例如通过uv tool install命令安装,除非指定版本或使用--isolated标志,否则将使用已安装的版本。

uvxuv tool run 的便捷别名,它们的行为完全相同。

如果没有提供命令,则会显示已安装的工具。

软件包会被安装到uv缓存目录中的一个临时虚拟环境中。

使用说明

uv tool run [OPTIONS] [COMMAND]

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

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

在构建源代码分发时,使用给定的需求文件来约束构建依赖项。

约束文件是类似requirements.txt的文件,仅控制已安装需求的版本。但需要注意的是,在约束文件中包含某个包不会触发该包的安装。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--constraints, --constraint, -c constraints

使用给定的需求文件约束版本。

约束文件类似于requirements.txt文件,但仅控制已安装需求的版本。不过,在约束文件中包含一个包不会触发该包的安装。

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

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

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--env-file env-file

.env文件加载环境变量。

可以多次提供,后续文件将覆盖先前文件中定义的值。

也可以通过 UV_ENV_FILE 环境变量进行设置。

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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版本,优化选择每个包的最新支持版本
--from from

使用给定的包来提供命令。

默认情况下,包名应与命令名相匹配。

--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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环境变量进行设置。

--isolated

在隔离的虚拟环境中运行该工具,忽略任何已安装的工具

--keyring-provider keyring-provider

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

目前仅支持--keyring-provider subprocess,该选项配置uv使用keyring命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-env-file

避免从.env文件中读取环境变量

也可以通过 UV_NO_ENV_FILE 环境变量进行设置。

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--overrides, --override overrides

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

覆盖文件类似于requirements.txt文件,它们强制安装特定版本的依赖项,无论任何组成包声明的需求如何,也不管这是否会被视为无效的解析。

虽然约束是叠加的,即它们与组成包的要求相结合,但覆盖是绝对的,因为它们完全替换了组成包的要求。

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

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

用于构建运行环境的Python解释器。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

重新安装所有软件包,无论它们是否已安装。隐含--refresh

--reinstall-package reinstall-package

重新安装特定包,无论是否已安装。隐含--refresh-package

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

--with with

使用已安装的指定包运行

--with-editable with-editable

以可编辑模式运行并安装给定的包

在项目中使用时,这些依赖项将被分层放置于uv工具环境之上,形成一个独立的临时环境。这些依赖项允许与已指定的依赖项发生冲突。

--with-requirements with-requirements

运行给定requirements.txt文件中列出的所有包

uv工具安装

安装由Python包提供的命令。

软件包会被安装到uv工具目录下的一个隔离虚拟环境中。可执行文件会链接到工具的可执行目录,该目录根据XDG标准确定,可以通过uv tool dir --bin命令获取。

如果该工具之前已安装,通常将替换现有工具。

使用说明

uv tool install [OPTIONS] <PACKAGE>

参数

PACKAGE

用于安装命令的软件包

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

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

在构建源代码分发时,使用给定的需求文件来约束构建依赖项。

约束文件是类似requirements.txt的文件,仅控制已安装需求的版本。但需要注意的是,在约束文件中包含某个包不会触发该包的安装。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--constraints, --constraint, -c constraints

使用给定的需求文件约束版本。

约束文件是类似requirements.txt的文件,仅控制已安装需求的版本。但需要注意的是,在约束文件中包含某个包不会触发该包的安装。

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

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

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--editable, -e

以可编辑模式安装目标包,这样包源码目录中的变更无需重新安装即可生效

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-url 之后。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--index-url(默认为PyPI)指定的索引。当提供多个--extra-index-url标志时,先提供的值具有更高优先级。

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

除了在注册表索引中找到的候选分发位置外,搜索候选分发的其他位置。

如果是一个路径,目标必须是一个目录,该目录顶层包含以wheel文件(.whl)或源代码分发文件(例如.tar.gz.zip)形式存在的包。

如果是一个URL,该页面必须包含一个扁平化的链接列表,这些链接指向符合上述格式描述的包文件。

也可以通过设置环境变量 UV_FIND_LINKS 来实现。

--force

强制安装该工具。

将替换可执行目录中具有相同名称的任何现有入口点。

--fork-strategy fork-strategy

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

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

fewest模式下,uv会尽量减少每个包选择的版本数量,优先选择兼容更广泛Python版本或平台的较旧版本。

也可以通过设置环境变量 UV_FORK_STRATEGY 来实现。

可能的取值:

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

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--overrides, --override overrides

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

覆盖文件类似于requirements.txt文件,它们强制安装特定版本的依赖项,无论任何组成包声明的需求如何,也不管这是否会被视为无效的解析。

虽然约束条件是叠加性的,即它们会与组成包的依赖要求相结合,但覆盖规则是绝对性的,因为它们会完全替换组成包的依赖要求。

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

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

用于构建工具环境的Python解释器。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

重新安装所有软件包,无论它们是否已安装。隐含--refresh

--reinstall-package reinstall-package

重新安装特定包,无论是否已安装。隐含--refresh-package

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

--with with

包含以下额外要求

--with-editable with-editable

以可编辑模式包含给定的包

--with-requirements with-requirements

包含给定requirements.txt文件中列出的所有依赖项

uv工具升级

升级已安装的工具。

如果安装工具时指定了版本限制,升级时也会遵循这些限制——若要升级工具超出最初设定的限制范围,请再次使用uv tool install命令。

如果工具安装时带有特定设置,升级时这些设置将被保留。例如,如果在安装时提供了--prereleases allow参数,升级时该设置仍将生效。

使用说明

uv tool upgrade [OPTIONS] <NAME>...

参数

名称

要升级的工具名称,以及可选的版本说明符

选项

--all

升级所有工具

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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版本,优化选择每个包的最新支持版本
--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

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

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

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

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

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

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

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

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

升级一个工具,并指定它使用给定的Python解释器来构建其环境。与--all一起使用可应用于所有工具。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--reinstall, --force-reinstall

重新安装所有软件包,无论它们是否已安装。隐含--refresh

--reinstall-package reinstall-package

重新安装特定包,无论是否已安装。隐含--refresh-package

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv 工具列表

列出已安装的工具

使用说明

uv tool list [OPTIONS]

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--quiet, -q

使用静默输出。

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

--show-paths

是否显示每个工具环境和已安装可执行文件的路径

--show-version-specifiers

是否显示用于安装每个工具的版本说明符

--show-with

是否显示随每个工具安装的额外需求

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv工具卸载

卸载工具

使用说明

uv tool uninstall [OPTIONS] <NAME>...

参数

NAME

要卸载的工具名称

选项

--all

卸载所有工具

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--quiet, -q

使用静默输出。

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv tool update-shell

确保工具的可执行目录位于PATH环境变量中。

如果工具的可执行目录不在PATH环境变量中,uv会尝试将其添加到相关的shell配置文件中。

如果shell配置文件已经包含将可执行目录添加到路径的说明,但该目录不在PATH中,uv将报错退出。

工具可执行目录根据XDG标准确定,可通过uv tool dir --bin命令获取。

使用说明

uv tool update-shell [OPTIONS]

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--quiet, -q

使用静默输出。

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv 工具目录

显示uv工具目录的路径。

工具目录用于存储已安装工具的环境和元数据。

默认情况下,工具存储在uv数据目录中,Unix系统下路径为$XDG_DATA_HOME/uv/tools$HOME/.local/share/uv/tools,Windows系统下路径为%APPDATA%\uv\data\tools

工具安装目录可以通过$UV_TOOL_DIR覆盖。

要查看uv安装可执行文件的目录,请使用--bin标志。

使用说明

uv tool dir [OPTIONS]

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--bin

显示uv工具将安装可执行文件的目录。

默认情况下,uv tool dir显示的是工具Python环境本身的安装目录,而不是包含链接可执行文件的目录。

工具的可执行目录根据XDG标准确定,并按照以下环境变量的优先级顺序派生:

  • $UV_TOOL_BIN_DIR
  • $XDG_BIN_HOME
  • $XDG_DATA_HOME/../bin
  • $HOME/.local/bin
--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--quiet, -q

使用静默输出。

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv python

管理Python版本和安装

通常情况下,uv首先会在虚拟环境中搜索Python,无论是当前激活的虚拟环境还是当前工作目录或其任何父目录中的.venv目录。如果不需要虚拟环境,uv随后会搜索Python解释器。Python解释器是通过在PATH环境变量中搜索Python可执行文件来找到的。

在Windows系统上,还会搜索注册表以查找Python可执行文件。

默认情况下,如果找不到Python版本,uv会自动下载。可以通过--no-python-downloads标志或python-downloads设置禁用此行为。

--python 选项允许请求使用不同的解释器。

支持以下Python版本请求格式:

  • 例如 3, 3.12, 3.12.3
  • 例如 >=3.12,<3.13
  • 例如 cpythoncp
  • @ 例如 [email protected]
  • 例如 cpython3.12cp312
  • 例如 cpython>=3.12,<3.13
  • ---- 例如 cpython-3.12.3-macos-aarch64-none

此外,通常可以通过以下方式请求特定的系统Python解释器:

  • 例如 /opt/homebrew/bin/python3
  • 例如 mypython3
  • 例如 /some/environment/

当使用--python选项时,会应用常规的发现规则,但会对发现的解释器进行兼容性检查。例如,如果请求的是pypy,uv会首先检查虚拟环境是否包含PyPy解释器,然后检查路径中的每个可执行文件是否为PyPy解释器。

uv 支持发现 CPython、PyPy 和 GraalPy 解释器。在发现过程中会跳过不受支持的解释器。如果请求了不受支持的解释器实现,uv 将报错退出。

使用说明

uv python [OPTIONS] <COMMAND>

命令

uv python list

列出可用的Python安装版本

uv python install

下载并安装Python版本

uv python find

搜索Python安装

uv python pin

固定到特定的Python版本

uv python dir

显示uv的Python安装目录

uv python uninstall

卸载 Python 版本

uv python list

列出可用的Python安装版本。

默认情况下,会显示已安装的Python版本以及每个受支持的Python主要版本的最新可用补丁版本的下载。

使用 --managed-python 仅查看受管理的 Python 版本。

使用 --no-managed-python 来忽略托管Python版本。

使用 --all-versions 查看所有可用的补丁版本。

使用 --only-installed 参数可忽略可用的下载项。

使用说明

uv python list [OPTIONS] [REQUEST]

参数

REQUEST

一个用于过滤的Python请求。

查看uv python以了解支持的请求格式。

选项

--all-arches, --all_architectures

列出适用于所有架构的Python下载。

默认情况下,仅显示当前架构的下载项。

--all-platforms

列出所有平台的Python下载。

默认情况下,仅显示当前平台的下载项。

--all-versions

列出所有Python版本,包括旧的补丁版本。

默认情况下,每个次要版本仅显示最新的补丁版本。

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--only-downloads

仅显示可用的Python下载。

默认情况下,会显示当前平台已安装的发行版和可用的下载项。

--only-installed

仅显示已安装的Python版本。

默认情况下,会显示当前平台已安装的发行版和可用的下载项。

--output-format output-format

选择输出格式

[默认: 文本]

可能的取值:

  • text: 纯文本(供人类阅读)
  • json: JSON(供计算机使用)
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python-downloads-json-url python-downloads-json-url

指向自定义Python安装JSON文件的URL。

请注意,目前仅支持本地路径。

也可以通过 UV_PYTHON_DOWNLOADS_JSON_URL 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--show-urls

显示可用的Python下载URL。

默认情况下,这些显示为

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv python install

下载并安装Python版本。

支持CPython和PyPy。CPython发行版从Astral的python-build-standalone项目下载。PyPy发行版从python.org下载。可用的Python版本已与每个uv版本捆绑。要安装新的Python版本,您可能需要升级uv。

Python版本会被安装到uv的Python目录中,该目录可通过uv python dir命令获取。

Python可执行文件不会全局可用,受管理的Python版本仅在uv命令或活动的虚拟环境中使用。实验性支持将Python可执行文件添加到PATH中——使用--preview标志启用此行为。

可以请求多个Python版本。

查看 uv help python 以了解支持的请求格式。

使用说明

uv python install [OPTIONS] [TARGETS]...

参数

目标

要安装的Python版本。

如果未提供,请求的Python版本将从UV_PYTHON环境变量中读取,然后是.python-versions.python-version文件。如果以上都不存在,uv将检查是否安装了任何Python版本。如果没有,它将安装最新的稳定版Python。

查看uv python以了解支持的请求格式。

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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

作为默认的Python版本使用。

默认情况下,仅安装一个python{major}.{minor}可执行文件,例如python3.10。当使用--default标志时,还会安装python{major}(例如python3)和python可执行文件。

替代的Python变体仍将包含其标签。例如,使用--default安装3.13+freethreaded版本时,将包含在python3tpythont中,而不是python3python

如果请求了多个Python版本,uv将报错退出。

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--force, -f

在安装过程中替换现有的Python可执行文件。

默认情况下,uv会拒绝替换它未管理的可执行文件。

意味着 --reinstall

--help, -h

显示该命令的简明帮助信息

--install-dir, -i install-dir

存储Python安装文件的目录。

如果提供了该参数,则需要设置UV_PYTHON_INSTALL_DIR以便后续操作中uv能够发现Python安装路径。

使用uv python dir命令查看当前Python安装目录。默认为~/.local/share/uv/python

也可以通过 UV_PYTHON_INSTALL_DIR 环境变量进行设置。

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--mirror mirror

设置用于下载Python安装包的源URL。

提供的URL将替换https://github.com/astral-sh/python-build-standalone/releases/download,例如在https://github.com/astral-sh/python-build-standalone/releases/download/20240713/cpython-3.12.4%2B20240713-aarch64-apple-darwin-install_only.tar.gz中。

可以通过使用file:// URL方案从本地目录读取分布。

也可以通过设置环境变量 UV_PYTHON_INSTALL_MIRROR 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--pypy-mirror pypy-mirror

设置用于下载PyPy安装包的源URL。

提供的URL将替换https://downloads.python.org/pypy,例如在https://downloads.python.org/pypy/pypy3.8-v7.3.7-osx64.tar.bz2中。

可以通过使用file:// URL方案从本地目录读取分布。

也可以通过 UV_PYPY_INSTALL_MIRROR 环境变量进行设置。

--python-downloads-json-url python-downloads-json-url

指向自定义Python安装JSON文件的URL。

请注意,目前仅支持本地路径。

也可以通过 UV_PYTHON_DOWNLOADS_JSON_URL 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--reinstall, -r

重新安装请求的Python版本,如果它已经安装。

默认情况下,如果版本已安装,uv将成功退出。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv python find

搜索Python安装路径。

显示Python可执行文件的路径。

查看 uv help python 以了解支持的请求格式及发现行为的详细信息。

使用说明

uv python find [OPTIONS] [REQUEST]

参数

REQUEST

Python请求。

查看uv python以了解支持的请求格式。

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-project, --no_workspace

避免发现项目或工作区。

否则,当未提供请求时,将使用当前目录或父目录中项目的Python需求。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--quiet, -q

使用静默输出。

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

--script script

查找Python脚本的环境,而非当前项目

--show-version

显示将被使用的Python版本,而不是解释器的路径

--system

仅查找系统Python解释器。

默认情况下,uv会报告它将使用的第一个Python解释器,包括处于活动状态的虚拟环境或当前工作目录及其任何父目录中的虚拟环境。

--system选项指示uv跳过虚拟环境的Python解释器,并将其搜索范围限制在系统路径中。

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv python pin

固定到特定的Python版本。

将固定的Python版本写入.python-version文件,该文件被其他uv命令用来确定所需的Python版本。

如果未提供版本号,uv会查找现有的.python-version文件并显示当前固定的版本。如果找不到.python-version文件,uv将报错退出。

查看 uv help python 以了解支持的请求格式。

使用说明

uv python pin [OPTIONS] [REQUEST]

参数

REQUEST

Python版本要求。

与其他读取.python-version文件的工具(例如pyenv)相比,uv支持更多格式。如果需要与这些工具兼容,请仅使用版本号,而不是复杂的请求,例如[email protected]

如果没有提供请求,将显示当前固定的版本。

查看uv python以了解支持的请求格式。

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--global

更新全局 Python 版本锁定。

将固定的Python版本写入uv用户配置目录中的.python-version文件:在Linux/macOS上是XDG_CONFIG_HOME/uv,在Windows上是%APPDATA%/uv

如果在工作目录或其父级目录中未找到本地Python版本锁定文件,则将使用此版本。

与本地版本锁定不同,此版本用作修改全局状态命令(如uv tool install)的默认版本。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-project, --no-workspace

避免验证Python pin是否与项目或工作区兼容。

默认情况下,会在当前目录或任何父目录中发现项目或工作区。如果找到工作区,将根据工作区的requires-python约束验证Python pin。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--quiet, -q

使用静默输出。

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

--resolved

将解析后的Python解释器路径写入,而非请求的路径。

确保使用完全相同的解释器。

在将.python-version文件提交到版本控制系统时,通常不建议使用此选项。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv python dir

显示uv Python的安装目录。

默认情况下,Python安装包会存储在uv数据目录中,Unix系统路径为$XDG_DATA_HOME/uv/python$HOME/.local/share/uv/python,Windows系统路径为%APPDATA%\uv\data\python

Python的安装目录可以通过$UV_PYTHON_INSTALL_DIR来覆盖。

要查看uv安装Python可执行文件的目录,请使用--bin标志。请注意,只有在启用预览模式时才会安装Python可执行文件。

使用说明

uv python dir [OPTIONS]

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--bin

显示 uv python 将安装 Python 可执行文件的目录。

请注意,此目录仅在启用预览模式安装Python时使用。

Python可执行目录根据XDG标准确定,并按照以下环境变量的优先级顺序派生:

  • $UV_PYTHON_BIN_DIR
  • $XDG_BIN_HOME
  • $XDG_DATA_HOME/../bin
  • $HOME/.local/bin
--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--quiet, -q

使用静默输出。

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv python uninstall

卸载 Python 版本

使用说明

uv python uninstall [OPTIONS] <TARGETS>...

参数

目标

要卸载的Python版本。

查看uv python以了解支持的请求格式。

选项

--all

卸载所有受管理的Python版本

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--install-dir, -i install-dir

Python的安装目录

也可以通过 UV_PYTHON_INSTALL_DIR 环境变量进行设置。

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--quiet, -q

使用静默输出。

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv pip

使用与pip兼容的界面管理Python包

使用说明

uv pip [OPTIONS] <COMMAND>

命令

uv pip compile

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

uv pip sync

同步一个带有requirements.txtpylock.toml文件的环境

uv pip install

将包安装到环境中

uv pip uninstall

从环境中卸载软件包

uv pip freeze

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

uv pip list

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

uv pip show

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

uv pip tree

显示环境的依赖关系树

uv pip check

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

uv pip compile

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

使用说明

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

参数

SRC_FILE

包含给定requirements.in文件中列出的所有包。

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

如果提供 -,则将从标准输入读取需求。

需求文件的顺序以及其中的需求顺序用于在解析过程中确定优先级。

选项

--all-extras

包含所有可选依赖项。

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

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--annotation-style annotation-style

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

默认为 split

可能的取值:

  • line: 将注释渲染为单行,用逗号分隔
  • split: 每条注释单独一行显示
--build-constraints, --build-constraint, -b build-constraints

在构建源代码分发时,使用给定的需求文件来约束构建依赖项。

约束文件是类似requirements.txt的文件,仅控制已安装需求的版本。但需要注意的是,在约束文件中包含某个包不会触发该包的安装。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--constraints, --constraint, -c constraints

使用给定的需求文件约束版本。

约束文件是类似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(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--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

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

--extra extra

包含来自指定额外名称的可选依赖项;可以多次提供。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-annotate

排除标明每个包来源的注释说明

--no-binary no-binary

不要安装预构建的轮子。

给定的软件包将从源代码构建并安装。解析器仍会使用预构建的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

忽略包的依赖关系,仅将命令行中明确列出的包添加到最终的需求文件中

--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版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--no-strip-extras

在输出文件中包含额外内容。

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

--no-strip-markers

在输出文件中包含环境标记。

默认情况下,uv会移除环境标记,因为compile生成的解析结果仅保证在目标环境中正确。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--only-binary only-binary

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

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

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

--output-file, -o output-file

将编译后的依赖项写入指定的requirements.txtpylock.toml文件。

如果文件已存在,在解析依赖关系时将优先使用现有版本,除非同时指定了--upgrade参数。

--overrides, --override overrides

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

覆盖文件类似于requirements.txt文件,它们强制安装特定版本的依赖项,无论任何组成包声明的需求如何,也不管这是否会被视为无效的解析。

虽然约束条件是叠加性的,即它们会与组成包的依赖要求相结合,但覆盖规则是绝对性的,因为它们会完全替换组成包的依赖要求。

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

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

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

在没有wheel文件时,构建源码发行版需要一个Python解释器来确定包的元数据。

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

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

有关Python发现和支持的请求格式的详细信息,请参阅uv python

--python-platform python-platform

需要解析需求的平台。

表示为"目标三元组",这是一个字符串,用于描述目标平台的CPU架构、供应商和操作系统名称,例如x86_64-unknown-linux-gnuaarch64-apple-darwin

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

可能的取值:

  • 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目标平台
  • i686-pc-windows-msvc: 32位x86 Windows目标平台
  • x86_64-unknown-linux-gnu: 一个x86 Linux目标平台。等同于x86_64-manylinux_2_17
  • aarch64-apple-darwin: 基于ARM架构的macOS目标平台,常见于Apple Silicon设备
  • x86_64-apple-darwin: 一个x86架构的macOS目标平台
  • aarch64-unknown-linux-gnu: ARM64 Linux目标平台。等同于aarch64-manylinux_2_17
  • aarch64-unknown-linux-musl: ARM64 Linux目标平台
  • x86_64-unknown-linux-musl: 一个x86_64 Linux目标平台
  • x86_64-manylinux2014: 一个针对manylinux2014平台的x86_64目标。等同于x86_64-manylinux_2_17
  • x86_64-manylinux_2_17: 一个针对manylinux_2_17平台的x86_64目标架构
  • x86_64-manylinux_2_28: 一个针对manylinux_2_28平台的x86_64目标架构
  • x86_64-manylinux_2_31: 一个针对manylinux_2_31平台的x86_64目标
  • x86_64-manylinux_2_32: 一个针对manylinux_2_32平台的x86_64目标架构
  • x86_64-manylinux_2_33: 一个针对manylinux_2_33平台的x86_64目标架构
  • x86_64-manylinux_2_34: 一个针对manylinux_2_34平台的x86_64目标
  • x86_64-manylinux_2_35: 一个针对manylinux_2_35平台的x86_64目标架构
  • x86_64-manylinux_2_36: 一个针对manylinux_2_36平台的x86_64目标架构
  • x86_64-manylinux_2_37: 一个针对manylinux_2_37平台的x86_64目标架构
  • x86_64-manylinux_2_38: 一个针对manylinux_2_38平台的x86_64目标架构
  • x86_64-manylinux_2_39: 一个针对manylinux_2_39平台的x86_64目标架构
  • x86_64-manylinux_2_40: 一个针对manylinux_2_40平台的x86_64目标架构
  • aarch64-manylinux2014: 针对manylinux2014平台的ARM64目标架构。等同于aarch64-manylinux_2_17
  • aarch64-manylinux_2_17: 一个针对manylinux_2_17平台的ARM64目标架构
  • aarch64-manylinux_2_28: 一个针对manylinux_2_28平台的ARM64架构目标
  • aarch64-manylinux_2_31: 一个针对manylinux_2_31平台的ARM64目标架构
  • aarch64-manylinux_2_32: 一个针对manylinux_2_32平台的ARM64目标架构
  • aarch64-manylinux_2_33: ARM64架构目标平台,适用于manylinux_2_33平台
  • aarch64-manylinux_2_34: 一个针对manylinux_2_34平台的ARM64目标架构
  • aarch64-manylinux_2_35: 针对manylinux_2_35平台的ARM64架构目标
  • aarch64-manylinux_2_36: manylinux_2_36 平台的 ARM64 目标架构
  • aarch64-manylinux_2_37: 针对manylinux_2_37平台的ARM64架构目标
  • aarch64-manylinux_2_38: 一个针对manylinux_2_38平台的ARM64架构目标
  • aarch64-manylinux_2_39: 一个针对manylinux_2_39平台的ARM64目标架构
  • aarch64-manylinux_2_40: ARM64架构目标平台,适用于manylinux_2_40平台
--python-version python-version

用于解析的Python版本。

例如,3.83.8.17

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

定义解析需求时必须支持的最低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 环境变量进行设置。

--torch-backend torch-backend

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

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

例如,当设置为cpu时,uv将使用仅支持CPU的PyTorch索引;当设置为cu126时,uv将使用支持CUDA 12.6的PyTorch索引。

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

此选项处于预览阶段,未来版本可能会有所变更。

也可以通过UV_TORCH_BACKEND环境变量进行设置。

可能的取值:

  • auto: 根据操作系统和CUDA驱动版本自动选择合适的PyTorch索引
  • cpu: 使用仅支持CPU的PyTorch索引
  • cu128: 使用PyTorch索引对应CUDA 12.8版本
  • cu126: 使用PyTorch索引对应CUDA 12.6版本
  • cu125: 使用PyTorch索引对应CUDA 12.5版本
  • cu124: 使用PyTorch索引对应CUDA 12.4版本
  • cu123: 使用PyTorch索引对应CUDA 12.3版本
  • cu122: 使用 PyTorch 索引获取 CUDA 12.2 版本
  • cu121: 使用 PyTorch 索引获取 CUDA 12.1 版本
  • cu120: 使用PyTorch索引对应CUDA 12.0版本
  • cu118: 使用PyTorch索引对应CUDA 11.8版本
  • cu117: 使用CUDA 11.7的PyTorch索引
  • cu116: 使用PyTorch索引获取CUDA 11.6版本
  • cu115: 使用适用于CUDA 11.5的PyTorch索引
  • cu114: 使用 PyTorch 索引获取 CUDA 11.4 版本
  • cu113: 使用 PyTorch 索引获取 CUDA 11.3 版本
  • cu112: 使用PyTorch索引对应CUDA 11.2版本
  • cu111: 使用 PyTorch 索引获取 CUDA 11.1 版本
  • cu110: 使用CUDA 11.0的PyTorch索引
  • cu102: 使用 PyTorch 索引获取 CUDA 10.2 版本
  • cu101: 使用PyTorch索引获取CUDA 10.1版本
  • cu100: 使用PyTorch索引获取CUDA 10.0版本
  • cu92: 使用PyTorch索引获取CUDA 9.2版本
  • cu91: 使用PyTorch索引对应CUDA 9.1版本
  • cu90: 使用PyTorch索引获取CUDA 9.0版本
  • cu80: 使用PyTorch索引对应CUDA 8.0版本
--universal

执行通用解析,尝试生成一个兼容所有操作系统、架构和Python实现的单一requirements.txt输出文件。

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

隐含--no-strip-markers

--upgrade, -U

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

--upgrade-package, -P upgrade-package

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<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参数可在缺少任何传递依赖项时发出警告。

使用说明

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

参数

SRC_FILE

包含给定requirements.txt文件中列出的所有包。

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

如果提供 -,则将从标准输入读取需求。

选项

--allow-empty-requirements

允许同步空的需求文件,这将清除环境中所有的包

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 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.txt的文件,仅控制已安装需求的版本。但需要注意的是,在约束文件中包含某个包不会触发该包的安装。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--constraints, --constraint, -c constraints

使用给定的需求文件约束版本。

约束文件是类似requirements.txt的文件,仅控制已安装需求的版本。但需要注意的是,在约束文件中包含某个包不会触发该包的安装。

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

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

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--dry-run

执行一次模拟运行,即不实际安装任何内容,仅解析依赖关系并打印最终计划

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

不要安装预构建的轮子。

给定的软件包将从源代码构建并安装。解析器仍会使用预构建的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版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--no-verify-hashes

禁用对需求文件中哈希值的验证。

默认情况下,uv会验证需求文件中所有可用的哈希值,但不会要求所有需求都必须附带哈希值。如需强制进行哈希验证,请使用--require-hashes

也可以通过设置环境变量 UV_NO_VERIFY_HASHES 来实现。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--only-binary only-binary

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

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

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

--prefix prefix

将包安装到指定目录下的libbin等顶层文件夹中,就像该位置存在虚拟环境一样。

通常建议优先使用--python来安装到替代环境中,因为通过--prefix安装的脚本和其他构件会引用安装时的解释器,而不是添加到--prefix目录中的任何解释器,这会导致它们不可移植。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

Python解释器,用于安装软件包。

默认情况下,同步操作需要虚拟环境。虽然可以提供替代Python的路径,但仅建议在持续集成(CI)环境中使用,且应谨慎操作,因为这可能会修改系统Python安装。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--python-platform python-platform

需要安装需求的平台。

表示为"目标三元组",这是一个字符串,用于描述目标平台的CPU架构、供应商和操作系统名称,例如x86_64-unknown-linux-gnuaarch64-apple-darwin

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

警告:当指定时,uv会选择与目标平台兼容的wheel包;因此,安装的发行版可能与当前平台不兼容。反之,任何从源码构建的发行版可能与目标平台不兼容,因为它们会为当前平台构建。--python-platform选项适用于高级使用场景。

可能的取值:

  • 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目标平台
  • i686-pc-windows-msvc: 32位x86 Windows目标平台
  • x86_64-unknown-linux-gnu: 一个x86 Linux目标平台。等同于x86_64-manylinux_2_17
  • aarch64-apple-darwin: 基于ARM架构的macOS目标平台,常见于Apple Silicon设备
  • x86_64-apple-darwin: 一个x86架构的macOS目标平台
  • aarch64-unknown-linux-gnu: ARM64 Linux目标平台。等同于aarch64-manylinux_2_17
  • aarch64-unknown-linux-musl: ARM64 Linux目标平台
  • x86_64-unknown-linux-musl: 一个x86_64 Linux目标平台
  • x86_64-manylinux2014: 一个针对manylinux2014平台的x86_64目标。等同于x86_64-manylinux_2_17
  • x86_64-manylinux_2_17: 一个针对manylinux_2_17平台的x86_64目标架构
  • x86_64-manylinux_2_28: 一个针对manylinux_2_28平台的x86_64目标架构
  • x86_64-manylinux_2_31: 一个针对manylinux_2_31平台的x86_64目标
  • x86_64-manylinux_2_32: 一个针对manylinux_2_32平台的x86_64目标架构
  • x86_64-manylinux_2_33: 一个针对manylinux_2_33平台的x86_64目标架构
  • x86_64-manylinux_2_34: 一个针对manylinux_2_34平台的x86_64目标
  • x86_64-manylinux_2_35: 一个针对manylinux_2_35平台的x86_64目标架构
  • x86_64-manylinux_2_36: 一个针对manylinux_2_36平台的x86_64目标架构
  • x86_64-manylinux_2_37: 一个针对manylinux_2_37平台的x86_64目标架构
  • x86_64-manylinux_2_38: 一个针对manylinux_2_38平台的x86_64目标架构
  • x86_64-manylinux_2_39: 一个针对manylinux_2_39平台的x86_64目标架构
  • x86_64-manylinux_2_40: 一个针对manylinux_2_40平台的x86_64目标架构
  • aarch64-manylinux2014: 针对manylinux2014平台的ARM64目标架构。等同于aarch64-manylinux_2_17
  • aarch64-manylinux_2_17: 一个针对manylinux_2_17平台的ARM64目标架构
  • aarch64-manylinux_2_28: 一个针对manylinux_2_28平台的ARM64架构目标
  • aarch64-manylinux_2_31: 一个针对manylinux_2_31平台的ARM64目标架构
  • aarch64-manylinux_2_32: 一个针对manylinux_2_32平台的ARM64目标架构
  • aarch64-manylinux_2_33: ARM64架构目标平台,适用于manylinux_2_33平台
  • aarch64-manylinux_2_34: 一个针对manylinux_2_34平台的ARM64目标架构
  • aarch64-manylinux_2_35: 针对manylinux_2_35平台的ARM64架构目标
  • aarch64-manylinux_2_36: manylinux_2_36 平台的 ARM64 目标架构
  • aarch64-manylinux_2_37: 针对manylinux_2_37平台的ARM64架构目标
  • aarch64-manylinux_2_38: 一个针对manylinux_2_38平台的ARM64架构目标
  • aarch64-manylinux_2_39: 一个针对manylinux_2_39平台的ARM64目标架构
  • aarch64-manylinux_2_40: ARM64架构目标平台,适用于manylinux_2_40平台
--python-version python-version

需求应支持的最低Python版本(例如3.73.7.9)。

如果省略了补丁版本号,则默认使用最低的补丁版本。例如,3.7会被映射为3.7.0

--quiet, -q

使用静默输出。

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

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

重新安装所有软件包,无论它们是否已安装。隐含--refresh

--reinstall-package reinstall-package

重新安装特定包,无论是否已安装。隐含--refresh-package

--require-hashes

要求每个需求都有一个匹配的哈希值。

默认情况下,uv会验证需求文件中所有可用的哈希值,但不会要求所有需求都必须有对应的哈希值。

当启用--require-hashes选项时,所有依赖项都必须包含一个或多个哈希值,且所有依赖项必须固定到确切版本(例如==1.0.0),或通过直接URL指定。

哈希检查模式引入了若干额外约束条件:

  • 不支持Git依赖项。- 不支持可编辑安装。- 不支持本地依赖项,除非它们指向特定的wheel文件(.whl)或源代码归档(.zip, .tar.gz),而不是指向目录。

也可以通过 UV_REQUIRE_HASHES 环境变量进行设置。

--strict

在完成安装后验证Python环境,以检测缺少依赖项或其他问题的包

--system

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

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

警告:--system选项专为持续集成(CI)环境设计,使用时需谨慎,因为它可能会修改系统Python安装。

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

--target target

将软件包安装到指定目录,而不是虚拟或系统Python环境中。这些软件包将被安装在目录的顶层。

--torch-backend torch-backend

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

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

例如,当设置为cpu时,uv将使用仅支持CPU的PyTorch索引;当设置为cu126时,uv将使用支持CUDA 12.6的PyTorch索引。

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

此选项处于预览阶段,未来版本可能会有所变更。

也可以通过UV_TORCH_BACKEND环境变量进行设置。

可能的取值:

  • auto: 根据操作系统和CUDA驱动版本自动选择合适的PyTorch索引
  • cpu: 使用仅支持CPU的PyTorch索引
  • cu128: 使用PyTorch索引对应CUDA 12.8版本
  • cu126: 使用PyTorch索引对应CUDA 12.6版本
  • cu125: 使用PyTorch索引对应CUDA 12.5版本
  • cu124: 使用PyTorch索引对应CUDA 12.4版本
  • cu123: 使用PyTorch索引对应CUDA 12.3版本
  • cu122: 使用 PyTorch 索引获取 CUDA 12.2 版本
  • cu121: 使用 PyTorch 索引获取 CUDA 12.1 版本
  • cu120: 使用PyTorch索引对应CUDA 12.0版本
  • cu118: 使用PyTorch索引对应CUDA 11.8版本
  • cu117: 使用CUDA 11.7的PyTorch索引
  • cu116: 使用PyTorch索引获取CUDA 11.6版本
  • cu115: 使用适用于CUDA 11.5的PyTorch索引
  • cu114: 使用 PyTorch 索引获取 CUDA 11.4 版本
  • cu113: 使用 PyTorch 索引获取 CUDA 11.3 版本
  • cu112: 使用适用于CUDA 11.2的PyTorch索引
  • cu111: 使用PyTorch索引对应CUDA 11.1版本
  • cu110: 使用CUDA 11.0的PyTorch索引
  • cu102: 使用 PyTorch 索引获取 CUDA 10.2 版本
  • cu101: 使用 PyTorch 索引获取 CUDA 10.1 版本
  • cu100: 使用PyTorch索引获取CUDA 10.0版本
  • cu92: 使用PyTorch索引获取CUDA 9.2版本
  • cu91: 使用PyTorch索引获取CUDA 9.1版本
  • cu90: 使用PyTorch索引获取CUDA 9.0版本
  • cu80: 使用适用于 CUDA 8.0 的 PyTorch 索引
--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv pip install

将包安装到环境中

使用说明

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

参数

PACKAGE

安装所有列出的软件包。

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

选项

--all-extras

包含所有可选依赖项。

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

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 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.txt的文件,仅控制已安装需求的版本。但需要注意的是,在约束文件中包含某个包不会触发该包的安装。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--constraints, --constraint, -c constraints

使用给定的需求文件约束版本。

约束文件是类似requirements.txt的文件,仅控制已安装需求的版本。但需要注意的是,在约束文件中包含某个包不会触发该包的安装。

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

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

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--dry-run

执行一次模拟运行,即不实际安装任何内容,仅解析依赖关系并打印最终计划

--editable, -e editable

根据提供的本地文件路径安装可编辑包

--exact

执行精确同步,移除无关的包。

默认情况下,安装时仅会进行满足需求的最小必要更改。启用后,uv会将环境完全匹配至需求状态,移除那些未包含在需求中的包。

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

--extra extra

包含来自指定额外名称的可选依赖项;可以多次提供。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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

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

如果没有提供路径,则使用工作目录中的pyproject.toml文件。

可以多次提供。

--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

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

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

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

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary no-binary

不要安装预构建的轮子。

给定的软件包将从源代码构建并安装。解析器仍会使用预构建的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.toml, uv.toml)。

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

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

--no-deps

忽略包的依赖关系,仅安装命令行或需求文件中明确列出的包

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

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

--no-verify-hashes

禁用对需求文件中哈希值的验证。

默认情况下,uv会验证需求文件中所有可用的哈希值,但不会要求所有需求都必须附带哈希值。如需强制进行哈希验证,请使用--require-hashes

也可以通过设置环境变量 UV_NO_VERIFY_HASHES 来实现。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--only-binary only-binary

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

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

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

--overrides, --override overrides

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

覆盖文件类似于requirements.txt文件,它们强制安装特定版本的依赖项,无论任何组成包声明的需求如何,也不管这是否会被视为无效的解析。

虽然约束条件是叠加性的,即它们会与组成包的依赖要求相结合,但覆盖规则是绝对性的,因为它们会完全替换组成包的依赖要求。

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

--prefix prefix

将包安装到指定目录下的libbin等顶层文件夹中,就像该位置存在虚拟环境一样。

通常建议优先使用--python来安装到替代环境中,因为通过--prefix安装的脚本和其他构件会引用安装时的解释器,而不是添加到--prefix目录中的任何解释器,这会导致它们不可移植。

--prerelease prerelease

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

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

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

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

Python解释器,用于安装软件包。

默认情况下,安装需要虚拟环境。虽然可以指定替代Python的路径,但仅建议在持续集成(CI)环境中使用,且应谨慎操作,因为这可能会修改系统Python安装。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--python-platform python-platform

需要安装需求的平台。

表示为"目标三元组",这是一个字符串,用于描述目标平台的CPU架构、供应商和操作系统名称,例如x86_64-unknown-linux-gnuaarch64-apple-darwin

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

警告:当指定时,uv会选择与目标平台兼容的wheel包;因此,安装的发行版可能与当前平台不兼容。反之,任何从源代码构建的发行版可能与目标平台不兼容,因为它们会针对当前平台构建。--python-platform选项适用于高级使用场景。

可能的取值:

  • 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目标平台
  • i686-pc-windows-msvc: 32位x86 Windows目标平台
  • x86_64-unknown-linux-gnu: 一个x86 Linux目标平台。等同于x86_64-manylinux_2_17
  • aarch64-apple-darwin: 基于ARM架构的macOS目标平台,常见于Apple Silicon设备
  • x86_64-apple-darwin: 一个x86架构的macOS目标平台
  • aarch64-unknown-linux-gnu: ARM64 Linux目标平台。等同于aarch64-manylinux_2_17
  • aarch64-unknown-linux-musl: ARM64 Linux目标平台
  • x86_64-unknown-linux-musl: 一个x86_64 Linux目标平台
  • x86_64-manylinux2014: 一个针对manylinux2014平台的x86_64目标。等同于x86_64-manylinux_2_17
  • x86_64-manylinux_2_17: 一个针对manylinux_2_17平台的x86_64目标架构
  • x86_64-manylinux_2_28: 一个针对manylinux_2_28平台的x86_64目标架构
  • x86_64-manylinux_2_31: 一个针对manylinux_2_31平台的x86_64目标
  • x86_64-manylinux_2_32: 一个针对manylinux_2_32平台的x86_64目标架构
  • x86_64-manylinux_2_33: 一个针对manylinux_2_33平台的x86_64目标架构
  • x86_64-manylinux_2_34: 一个针对manylinux_2_34平台的x86_64目标
  • x86_64-manylinux_2_35: 一个针对manylinux_2_35平台的x86_64目标架构
  • x86_64-manylinux_2_36: 一个针对manylinux_2_36平台的x86_64目标架构
  • x86_64-manylinux_2_37: 一个针对manylinux_2_37平台的x86_64目标架构
  • x86_64-manylinux_2_38: 一个针对manylinux_2_38平台的x86_64目标架构
  • x86_64-manylinux_2_39: 一个针对manylinux_2_39平台的x86_64目标架构
  • x86_64-manylinux_2_40: 一个针对manylinux_2_40平台的x86_64目标架构
  • aarch64-manylinux2014: 针对manylinux2014平台的ARM64目标架构。等同于aarch64-manylinux_2_17
  • aarch64-manylinux_2_17: 一个针对manylinux_2_17平台的ARM64目标架构
  • aarch64-manylinux_2_28: 一个针对manylinux_2_28平台的ARM64架构目标
  • aarch64-manylinux_2_31: 一个针对manylinux_2_31平台的ARM64目标架构
  • aarch64-manylinux_2_32: 一个针对manylinux_2_32平台的ARM64目标架构
  • aarch64-manylinux_2_33: ARM64架构目标平台,适用于manylinux_2_33平台
  • aarch64-manylinux_2_34: 一个针对manylinux_2_34平台的ARM64目标架构
  • aarch64-manylinux_2_35: 针对manylinux_2_35平台的ARM64架构目标
  • aarch64-manylinux_2_36: manylinux_2_36 平台的 ARM64 目标架构
  • aarch64-manylinux_2_37: 针对manylinux_2_37平台的ARM64架构目标
  • aarch64-manylinux_2_38: 一个针对manylinux_2_38平台的ARM64架构目标
  • aarch64-manylinux_2_39: 一个针对manylinux_2_39平台的ARM64目标架构
  • aarch64-manylinux_2_40: ARM64架构目标平台,适用于manylinux_2_40平台
--python-version python-version

需求应支持的最低Python版本(例如3.73.7.9)。

如果省略了补丁版本号,则默认使用最低的补丁版本。例如,3.7会被映射为3.7.0

--quiet, -q

使用静默输出。

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

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--reinstall, --force-reinstall

重新安装所有软件包,无论它们是否已安装。隐含--refresh

--reinstall-package reinstall-package

重新安装特定包,无论是否已安装。隐含--refresh-package

--require-hashes

要求每个需求都有一个匹配的哈希值。

默认情况下,uv会验证需求文件中所有可用的哈希值,但不会要求所有需求都必须有对应的哈希值。

当启用--require-hashes选项时,所有依赖项都必须包含一个或多个哈希值,且所有依赖项必须固定到确切版本(例如==1.0.0),或通过直接URL指定。

哈希检查模式引入了若干额外约束条件:

  • 不支持Git依赖项。- 不支持可编辑安装。- 不支持本地依赖项,除非它们指向特定的wheel文件(.whl)或源代码归档(.zip, .tar.gz),而不是指向目录。

也可以通过 UV_REQUIRE_HASHES 环境变量进行设置。

--requirements, --requirement, -r requirements

安装给定requirements.txtpylock.toml文件中列出的所有包。

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

如果提供 -,则将从标准输入读取需求。

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

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

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

可能的取值:

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

在完成安装后验证Python环境,以检测缺少依赖项或其他问题的包

--system

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

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

警告:--system选项专为持续集成(CI)环境设计,使用时需谨慎,因为它可能会修改系统Python安装。

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

--target target

将软件包安装到指定目录,而不是虚拟或系统Python环境中。这些软件包将被安装在目录的顶层。

--torch-backend torch-backend

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

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

例如,当设置为cpu时,uv将使用仅支持CPU的PyTorch索引;当设置为cu126时,uv将使用支持CUDA 12.6的PyTorch索引。

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

此选项处于预览阶段,未来版本可能会有所变更。

也可以通过UV_TORCH_BACKEND环境变量进行设置。

可能的取值:

  • auto: 根据操作系统和CUDA驱动版本自动选择合适的PyTorch索引
  • cpu: 使用仅支持CPU的PyTorch索引
  • cu128: 使用PyTorch索引对应CUDA 12.8版本
  • cu126: 使用PyTorch索引对应CUDA 12.6版本
  • cu125: 使用PyTorch索引对应CUDA 12.5版本
  • cu124: 使用PyTorch索引对应CUDA 12.4版本
  • cu123: 使用PyTorch索引对应CUDA 12.3版本
  • cu122: 使用 PyTorch 索引获取 CUDA 12.2 版本
  • cu121: 使用 PyTorch 索引获取 CUDA 12.1 版本
  • cu120: 使用PyTorch索引对应CUDA 12.0版本
  • cu118: 使用PyTorch索引对应CUDA 11.8版本
  • cu117: 使用CUDA 11.7的PyTorch索引
  • cu116: 使用PyTorch索引获取CUDA 11.6版本
  • cu115: 使用适用于CUDA 11.5的PyTorch索引
  • cu114: 使用 PyTorch 索引获取 CUDA 11.4 版本
  • cu113: 使用 PyTorch 索引获取 CUDA 11.3 版本
  • cu112: 使用PyTorch索引对应CUDA 11.2版本
  • cu111: 使用PyTorch索引对应CUDA 11.1版本
  • cu110: 使用CUDA 11.0的PyTorch索引
  • cu102: 使用 PyTorch 索引获取 CUDA 10.2 版本
  • cu101: 使用PyTorch索引获取CUDA 10.1版本
  • cu100: 使用PyTorch索引获取CUDA 10.0版本
  • cu92: 使用PyTorch索引获取CUDA 9.2版本
  • cu91: 使用PyTorch索引获取CUDA 9.1版本
  • cu90: 使用PyTorch索引获取CUDA 9.0版本
  • cu80: 使用PyTorch索引对应CUDA 8.0版本
--upgrade, -U

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

--upgrade-package, -P upgrade-package

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

--user
--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv pip uninstall

从环境中卸载软件包

使用说明

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

参数

PACKAGE

卸载所有列出的软件包

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 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 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--dry-run

执行一次模拟运行,即不实际卸载任何内容,仅打印最终计划

--help, -h

显示该命令的简明帮助信息

--keyring-provider keyring-provider

尝试使用keyring进行远程需求文件的身份验证。

目前仅支持--keyring-provider subprocess,该选项配置uv使用keyring命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询
--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--prefix prefix

从指定的 --prefix 目录卸载包

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

要卸载软件包的Python解释器。

默认情况下,卸载操作需要在虚拟环境中进行。虽然可以指定其他Python路径,但这仅建议在持续集成(CI)环境中使用,且需谨慎操作,因为它可能会修改系统Python安装。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--requirements, --requirement, -r requirements

卸载给定需求文件中列出的所有包

--system

使用系统Python卸载软件包。

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

警告:--system选项专为持续集成(CI)环境设计,使用时需谨慎,因为它可能会修改系统Python安装。

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

--target target

从指定的 --target 目录卸载软件包

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv pip freeze

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

使用说明

uv pip freeze [OPTIONS]

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--exclude-editable

从输出中排除任何可编辑的包

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--path paths

限制到指定的安装路径以列出软件包(可多次使用)

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

需要列出包的Python解释器。

默认情况下,uv会列出虚拟环境中的包,但如果未找到虚拟环境,则会显示系统Python环境中的包。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--strict

验证Python环境,检测缺少依赖包及其他问题

--system

列出系统Python环境中的包。

禁用虚拟环境的发现。

有关Python发现的详细信息,请参阅uv python

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv pip list

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

使用说明

uv pip list [OPTIONS]

选项

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

允许与主机建立不安全连接。

可以多次提供。

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

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

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

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

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

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

--directory directory

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

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

请参阅 --project 以仅更改项目根目录。

--editable, -e

仅包含可编辑项目

--exclude exclude

从输出中排除指定的包

--exclude-editable

从输出中排除任何可编辑的包

--exclude-newer exclude-newer

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

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

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

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

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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

选择输出格式

[默认: 列]

可能的取值:

  • columns: 以人类可读的表格形式显示包列表
  • freeze: 以类似pip freeze的格式显示包列表,每行显示一个包及其版本
  • json: 以机器可读的JSON格式显示包列表
--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

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

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询
--managed-python

需要使用uv管理的Python版本。

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

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

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

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

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

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

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

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

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

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

--no-index

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

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

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

也可以通过 UV_OFFLINE 环境变量进行设置。

--outdated

列出过时的包。

每个软件包的最新版本将与已安装版本一同显示。已是最新版本的软件包将不会在输出中显示。

--project project

在给定的项目目录中运行该命令。

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

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

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

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

--python, -p python

需要列出包的Python解释器。

默认情况下,uv会列出虚拟环境中的包,但如果未找到虚拟环境,则会显示系统Python环境中的包。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

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

--strict

验证Python环境,检测缺少依赖包及其他问题

--system

列出系统Python环境中的包。

禁用虚拟环境的发现。

有关Python发现的详细信息,请参阅uv python

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

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv pip show

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

使用说明

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

参数

PACKAGE

要显示的包

选项

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

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--files, -f

显示每个包已安装文件的完整列表

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--python, -p python

用于查找包的Python解释器。

默认情况下,uv会在虚拟环境中查找包,但如果未找到虚拟环境,则会从系统Python环境中查找包。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--strict

验证Python环境,检测缺少依赖包及其他问题

--system

显示系统Python环境中的包。

禁用虚拟环境的发现。

有关Python发现的详细信息,请参阅uv python

也可以通过 UV_SYSTEM_PYTHON 环境变量进行设置。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv pip tree

显示环境的依赖关系树

使用说明

uv pip tree [OPTIONS]

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志指定的索引优先级低于所有通过--index标志指定的其他索引。

也可以通过设置环境变量 UV_DEFAULT_INDEX 来实现。

--depth, -d depth

依赖树的最大显示深度

[默认值: 255]

--directory directory

在运行命令之前切换到指定目录。

相对路径会以给定目录作为基准进行解析。

请参阅 --project 以仅更改项目根目录。

--exclude-newer exclude-newer

将候选包限制为在给定日期之前上传的包。

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

也可以通过 UV_EXCLUDE_NEWER 环境变量进行设置。

--extra-index-url extra-index-url

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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标志时,先设置的值具有更高优先级。

也可以通过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

显示给定软件包的反向依赖关系。此标志将反转依赖树并展示依赖于该软件包的其它软件包

--keyring-provider keyring-provider

尝试使用keyring进行索引URL的身份验证。

目前仅支持--keyring-provider subprocess,该选项配置uv使用keyring命令行工具来处理认证。

默认为 disabled

也可以通过UV_KEYRING_PROVIDER环境变量进行设置。

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询
--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-dedupe

不要对重复的依赖项进行去重处理。通常情况下,当一个包的依赖关系已经显示过后,后续出现的相同依赖项将不再重复显示,并会标注(*)表示已展示过。启用此标志将使这些重复的依赖项再次显示

--no-index

忽略注册表索引(例如 PyPI),转而依赖直接 URL 依赖项以及通过 --find-links 提供的依赖项

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--outdated

显示树中每个包的最新可用版本

--package package

仅显示指定的包

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--prune prune

从依赖关系树的显示中移除给定的包

--python, -p python

需要列出包的Python解释器。

默认情况下,uv会列出虚拟环境中的包,但如果未找到虚拟环境,则会显示系统Python环境中的包。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--show-version-specifiers

显示对每个包施加的版本约束条件

--strict

验证Python环境,检测缺少依赖包及其他问题

--system

列出系统Python环境中的包。

禁用虚拟环境的发现。

有关Python发现的详细信息,请参阅uv python

也可以通过 UV_SYSTEM_PYTHON 环境变量进行设置。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv pip check

验证已安装的包是否具有兼容的依赖项

使用说明

uv pip check [OPTIONS]

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--python, -p python

需要检查包的Python解释器。

默认情况下,uv会检查虚拟环境中的包,但如果未找到虚拟环境,则会检查系统Python环境中的包。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--system

检查系统Python环境中的包。

禁用虚拟环境的发现。

有关Python发现的详细信息,请参阅uv python

也可以通过 UV_SYSTEM_PYTHON 环境变量进行设置。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv venv

创建一个虚拟环境。

默认情况下,会在工作目录中创建一个名为.venv的虚拟环境。也可以通过位置参数提供替代路径。

如果在项目中,可以通过UV_PROJECT_ENVIRONMENT环境变量更改默认环境名称;这仅在从项目根目录运行时适用。

如果目标路径已存在虚拟环境,它将被移除并创建一个新的空虚拟环境。

使用uv时,无需激活虚拟环境。uv会在工作目录或任何父目录中查找虚拟环境(名为.venv)。

使用说明

uv venv [OPTIONS] [PATH]

参数

PATH

要创建的虚拟环境的路径。

默认为工作目录中的 .venv

相对路径是相对于工作目录解析的。

选项

--allow-existing

保留目标路径上的任何现有文件或目录。

默认情况下,uv venv会删除给定路径下已存在的虚拟环境,如果该路径非空但不是虚拟环境则会报错退出。使用--allow-existing选项则允许直接写入给定路径,无论其内容如何,且不会预先清空该目录。

警告:如果现有的虚拟环境与新创建的虚拟环境链接到不同的Python解释器,此选项可能导致意外行为。

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志指定的索引优先级低于所有通过--index标志指定的其他索引。

也可以通过设置环境变量 UV_DEFAULT_INDEX 来实现。

--directory directory

在运行命令之前切换到指定目录。

相对路径会以给定目录作为基准进行解析。

请参阅 --project 以仅更改项目根目录。

--exclude-newer exclude-newer

将候选包限制为在给定日期之前上传的包。

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

也可以通过 UV_EXCLUDE_NEWER 环境变量进行设置。

--extra-index-url extra-index-url

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-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标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

也可以通过UV_KEYRING_PROVIDER环境变量进行设置。

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

从全局缓存安装包时使用的方法。

该选项仅用于安装种子包。

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

也可以通过 UV_LINK_MODE 环境变量进行设置。

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-index

忽略注册表索引(例如 PyPI),转而依赖直接 URL 依赖项以及通过 --find-links 提供的依赖项

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-project, --no-workspace

避免发现项目或工作区。

默认情况下,uv会在当前目录或任何父目录中搜索项目,以确定虚拟环境的默认路径并检查是否存在Python版本限制(如果有的话)。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--prompt prompt

为虚拟环境提供一个替代的提示前缀。

默认情况下,提示信息取决于是否向uv venv提供了路径参数。如果提供了路径(例如uv venv project),提示信息将设置为目录名称;如果未提供路径(uv venv),则提示信息设置为当前目录名称。

如果提供的是".",无论是否向uv venv提供了路径,都将使用当前目录名称。

--python, -p python

用于虚拟环境的Python解释器。

在创建虚拟环境时,uv不会在虚拟环境中寻找Python解释器。

有关Python发现和支持的请求格式的详细信息,请参阅uv python

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--relocatable

使虚拟环境可重新定位。

可重定位的虚拟环境可以移动和重新分发,而不会使其关联的入口点和激活脚本失效。

请注意,这仅适用于标准的console_scriptsgui_scripts。其他脚本如果带有通用的#!python[w] shebang可能会被调整,而二进制文件则保持不变。

由于使环境可重定位(通过写入相对路径而非绝对路径),入口点和脚本本身将无法重定位。换句话说,将这些入口点和脚本复制到环境之外的位置将无法工作,因为它们引用了相对于环境本身的路径。

--seed

将种子包(可选择一个或多个:pipsetuptoolswheel)安装到虚拟环境中。

请注意,Python 3.12+环境中不包含setuptoolswheel

也可以通过 UV_VENV_SEED 环境变量进行设置。

--system-site-packages

让虚拟环境能够访问系统站点包目录。

pip不同,当使用--system-site-packages创建虚拟环境时,uv在运行uv pip listuv pip install等命令时不会考虑系统站点包。--system-site-packages标志将在运行时为虚拟环境提供对系统站点包目录的访问权限,但不会影响uv命令的行为。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv build

将Python包构建为源码发行版和wheel格式。

uv build 接受一个目录或源码分发的路径,默认为当前工作目录。

默认情况下,如果传入一个目录,uv build会从源目录构建一个源码发行版("sdist"),并从源码发行版构建一个二进制发行版("wheel")。

uv build --sdist 可用于仅构建源码分发包,uv build --wheel 可用于仅构建二进制分发包,而 uv build --sdist --wheel 可用于从源码同时构建两种分发包。

如果传入一个源码发行版,uv build --wheel 会从源码发行版构建一个wheel包。

使用说明

uv build [OPTIONS] [SRC]

参数

SRC

用于构建分发的目录,或是需要构建为wheel的源码分发归档文件。

默认为当前工作目录。

选项

--all-packages, --all

构建工作区中的所有包。

工作空间将从提供的源目录中被发现,如果没有提供源目录,则使用当前目录。

如果工作区成员不存在,uv将报错退出。

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--build-constraints, --build-constraint, -b build-constraints

在构建发行版时,使用给定的需求文件来约束构建依赖项。

约束文件是类似于requirements.txt的文件,仅控制已安装构建依赖项的版本。但是,在约束文件中包含一个包不会自动触发该包的安装。

也可以通过UV_BUILD_CONSTRAINT环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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构建后端的设置,以KEY=VALUE键值对形式指定

--default-index default-index

默认包索引的URL(默认值:)。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志指定的索引优先级低于所有通过--index标志指定的其他索引。

也可以通过设置环境变量 UV_DEFAULT_INDEX 来实现。

--directory directory

在运行命令之前切换到指定目录。

相对路径会以给定目录作为基准进行解析。

请参阅 --project 以仅更改项目根目录。

--exclude-newer exclude-newer

将候选包限制为在给定日期之前上传的包。

接受RFC 3339时间戳格式(例如2006-12-02T02:07:43Z)和本地日期格式(例如2006-12-02),使用系统配置的时区。

也可以通过 UV_EXCLUDE_NEWER 环境变量进行设置。

--extra-index-url extra-index-url

(已弃用:请改用 --index) 额外要使用的包索引URL,附加在 --index-url 之后。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--index-url(默认为PyPI)指定的索引。当提供多个--extra-index-url标志时,先提供的值具有更高优先级。

也可以通过 UV_EXTRA_INDEX_URL 环境变量进行设置。

除了在注册表索引中找到的候选分发位置外,搜索候选分发的其他位置。

如果是一个路径,目标必须是一个目录,该目录顶层包含以wheel文件(.whl)或源代码分发文件(例如.tar.gz.zip)形式存在的包。

如果是一个URL,该页面必须包含一个扁平化的链接列表,这些链接指向符合上述格式描述的包文件。

也可以通过设置环境变量 UV_FIND_LINKS 来实现。

--force-pep517

始终通过PEP 517构建,不要使用uv构建后端的快速路径。

默认情况下,uv不会为使用uv构建后端的包创建PEP 517构建环境,而是采用直接调用构建后端的快速路径。此选项强制始终使用PEP 517。

--fork-strategy fork-strategy

在跨Python版本和平台选择给定包的多个版本时使用的策略。

默认情况下,uv会针对每个支持的Python版本(requires-python)优化选择每个包的最新版本,同时尽量减少跨平台选择的版本数量。

fewest模式下,uv会尽量减少每个包选择的版本数量,优先选择兼容更广泛Python版本或平台的较旧版本。

也可以通过设置环境变量 UV_FORK_STRATEGY 来实现。

可能的取值:

  • fewest: 优化选择每个包的最少版本数量。如果旧版本与更广泛的受支持Python版本或平台兼容,则可能优先选择旧版本
  • requires-python: 针对每个支持的Python版本,优化选择每个包的最新支持版本
--help, -h

显示该命令的简明帮助信息

--index index

用于解析依赖项的URL,除了默认索引之外。

接受符合PEP 503标准的仓库(简单仓库API),或具有相同格式布局的本地目录。

通过此标志提供的所有索引优先级高于--default-index(默认为PyPI)指定的索引。当提供多个--index标志时,先设置的值具有更高优先级。

也可以通过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命令行工具来处理认证。

默认为 disabled

也可以通过UV_KEYRING_PROVIDER环境变量进行设置。

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询

从全局缓存安装包时使用的方法。

此选项仅在构建源代码分发时使用。

默认为 macOS 上的 clone(也称为写时复制),以及 Linux 和 Windows 上的 hardlink

也可以通过 UV_LINK_MODE 环境变量进行设置。

可能的取值:

  • clone: 从wheel中克隆(即写时复制)包到site-packages目录
  • copy: 将包从wheel文件复制到site-packages目录
  • hardlink: 将wheel中的包硬链接到site-packages目录
  • symlink: 将包从wheel中符号链接到site-packages目录
--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-binary

不要安装预构建的轮子。

给定的软件包将从源代码构建并安装。解析器仍会使用预构建的wheel文件来提取软件包元数据(如果可用)。

也可以通过设置环境变量 UV_NO_BINARY 来实现。

--no-binary-package no-binary-package

不要为特定软件包安装预构建的wheel文件

也可以通过 UV_NO_BINARY_PACKAGE 环境变量进行设置。

--no-build

不要构建源代码发行版。

启用后,解析过程将不会执行任意Python代码。已构建的源码发行版的缓存wheel将被复用,但需要构建发行版的操作将以错误退出。

也可以通过设置环境变量 UV_NO_BUILD 来实现。

--no-build-isolation

在构建源代码分发时禁用隔离。

假设PEP 518指定的构建依赖项已安装。

也可以通过设置环境变量 UV_NO_BUILD_ISOLATION 来实现。

--no-build-isolation-package no-build-isolation-package

在构建特定软件包的源码分发时禁用隔离。

假设PEP 518指定的软件包构建依赖项已安装。

--no-build-logs

隐藏构建后端的日志

--no-build-package no-build-package

不要为特定包构建源码分发

也可以通过设置环境变量 UV_NO_BUILD_PACKAGE 来实现。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-index

忽略注册表索引(例如 PyPI),转而依赖直接 URL 依赖项以及通过 --find-links 提供的依赖项

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--no-sources

解析依赖关系时忽略tool.uv.sources表。用于锁定符合标准的、可发布的包元数据,而不是使用任何工作区、Git、URL或本地路径源

--no-verify-hashes

禁用对需求文件中哈希值的验证。

默认情况下,uv会验证需求文件中所有可用的哈希值,但不会要求所有需求都必须附带哈希值。如需强制进行哈希验证,请使用--require-hashes

也可以通过设置环境变量 UV_NO_VERIFY_HASHES 来实现。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--out-dir, -o out-dir

输出目录,用于存放生成的发行版文件。

默认为源代码目录中的dist子目录,或包含源代码分发存档的目录。

--package package

在工作区中构建特定包。

工作区将从提供的源目录中被发现,如果没有提供源目录,则使用当前目录。

如果工作区成员不存在,uv将报错退出。

--prerelease prerelease

在考虑预发布版本时使用的策略。

默认情况下,uv会接受发布预发布版本的软件包的预发布版本,以及在声明说明符中包含显式预发布标记的第一方需求(if-necessary-or-explicit)。

也可以通过 UV_PRERELEASE 环境变量进行设置。

可能的取值:

  • disallow: 禁止所有预发布版本
  • allow: 允许所有预发布版本
  • if-necessary: 如果某个包的所有版本都是预发布版本,则允许使用预发布版本
  • explicit: 允许在版本要求中明确标记预发布版本的第一方包使用预发布版本
  • if-necessary-or-explicit: 如果某个包的所有版本都是预发布版本,或者该包的版本要求中明确标记了预发布版本,则允许使用预发布版本
--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--python, -p python

用于构建环境的Python解释器。

默认情况下,构建会在隔离的虚拟环境中执行。发现的解释器将用于创建这些环境,并根据平台进行符号链接或复制。

查看uv python以了解支持的请求格式。

也可以通过 UV_PYTHON 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--refresh

刷新所有缓存数据

--refresh-package refresh-package

刷新特定包的缓存数据

--require-hashes

要求每个需求都有一个匹配的哈希值。

默认情况下,uv会验证需求文件中所有可用的哈希值,但不会要求所有需求都必须有对应的哈希值。

当启用--require-hashes选项时,所有依赖项都必须包含一个或多个哈希值,且所有依赖项必须固定到确切版本(例如==1.0.0),或通过直接URL指定。

哈希检查模式引入了若干额外约束条件:

  • 不支持Git依赖项。- 不支持可编辑安装。- 不支持本地依赖项,除非它们指向特定的wheel文件(.whl)或源代码归档(.zip, .tar.gz),而不是指向目录。

也可以通过 UV_REQUIRE_HASHES 环境变量进行设置。

--resolution resolution

在为一个给定的包需求选择不同兼容版本时使用的策略。

默认情况下,uv会使用每个软件包的最新兼容版本(highest)。

也可以通过UV_RESOLUTION环境变量进行设置。

可能的取值:

  • highest: 解析每个软件包的最高兼容版本
  • lowest: 解析每个包的最低兼容版本
  • lowest-direct: 解析所有直接依赖项的最低兼容版本,以及所有传递依赖项的最高兼容版本
--sdist

从给定目录构建一个源代码分发("sdist")

--upgrade, -U

允许升级软件包,忽略任何现有输出文件中的固定版本。隐含--refresh选项

--upgrade-package, -P upgrade-package

允许升级特定软件包,忽略任何现有输出文件中的固定版本。隐含--refresh-package

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

--wheel

从指定目录构建二进制发行版("wheel")

uv publish

上传分布数据到索引

使用说明

uv publish [OPTIONS] [FILES]...

参数

文件

要上传的文件路径。支持glob表达式。

默认为dist目录。仅选择wheel包和源码发行版,同时忽略其他文件。

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量进行设置。

--check-url check-url

检查索引URL中是否存在文件以跳过重复上传。

该选项允许重试部分文件上传失败但未全部完成的发布操作,并处理因并行上传同一文件导致的错误。

在上传之前,会检查索引。如果索引中已存在完全相同的文件,则该文件不会被上传。如果上传过程中发生错误,会再次检查索引,以处理相同文件被并行上传两次的情况。

具体行为会因索引而异。当上传到PyPI时,即使不使用--check-url也能成功上传相同文件,而大多数其他索引会报错。

索引必须提供支持的哈希之一(SHA-256、SHA-384 或 SHA-512)。

也可以通过 UV_PUBLISH_CHECK_URL 环境变量进行设置。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv在向终端输出时会自动检测对颜色的支持。

可能的取值:

  • auto: 仅当输出到支持彩色显示的终端或TTY时启用彩色输出
  • always: 无论检测到何种环境,始终启用彩色输出
  • never: 禁用彩色输出
--config-file config-file

用于配置的uv.toml文件路径。

虽然uv的配置可以包含在pyproject.toml文件中,但在当前上下文中不允许这样做。

也可以通过UV_CONFIG_FILE环境变量进行设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径会以给定目录作为基准进行解析。

请参阅 --project 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--index index

配置中用于发布的索引名称。

索引必须有一个publish-url设置,例如:

[[tool.uv.index]]
name = "pypi"
url = "https://pypi.org/simple"
publish-url = "https://upload.pypi.org/legacy/"

索引 url 将用于检查现有文件以跳过重复上传。

通过这些设置,以下两次调用是等效的:

uv publish --index pypi
uv publish --publish-url https://upload.pypi.org/legacy/ --check-url https://pypi.org/simple

也可以通过 UV_PUBLISH_INDEX 环境变量进行设置。

--keyring-provider keyring-provider

尝试使用keyring进行远程需求文件的身份验证。

目前仅支持--keyring-provider subprocess,该选项配置uv使用keyring命令行工具来处理认证。

默认为 disabled

也可以通过UV_KEYRING_PROVIDER环境变量进行设置。

可能的取值:

  • disabled: 不使用密钥环进行凭据查找
  • subprocess: 使用keyring命令进行凭证查询
--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--password, -p password

上传的密码

也可以通过 UV_PUBLISH_PASSWORD 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--publish-url publish-url

上传端点的URL(不是索引URL)。

请注意,索引访问(例如https:://.../simple)和索引上传通常使用不同的URL。

默认为PyPI的发布URL()。

也可以通过 UV_PUBLISH_URL 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--token, -t token

上传所需的令牌。

使用令牌相当于将__token__作为--username,并将令牌作为--password密码传递。

也可以通过设置环境变量 UV_PUBLISH_TOKEN 来实现。

--trusted-publishing trusted-publishing

通过GitHub Actions配置可信发布。

By default, uv checks for trusted publishing when running in GitHub Actions, but ignores it if it isn’t configured or the workflow doesn’t have enough permissions (e.g., a pull request from a fork).

可能的取值:

  • automatic: 当我们已经在GitHub Actions中时尝试可信发布,如果失败则继续
  • always
  • never
--username, -u username

上传的用户名

也可以通过 UV_PUBLISH_USERNAME 环境变量进行设置。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv cache

管理uv的缓存

使用说明

uv cache [OPTIONS] <COMMAND>

命令

uv cache clean

清除缓存,删除所有条目或与特定包相关的条目

uv cache prune

从缓存中修剪所有无法访问的对象

uv cache dir

显示缓存目录

uv 缓存清理

清除缓存,移除所有条目或与特定包关联的条目

使用说明

uv cache clean [OPTIONS] [PACKAGE]...

参数

PACKAGE

要从缓存中移除的包

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv cache prune

从缓存中清除所有不可访问的对象

使用说明

uv cache prune [OPTIONS]

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 uv cache dir

也可以通过 UV_CACHE_DIR 环境变量进行设置。

--ci

在持续集成环境(如GitHub Actions)中优化持久化缓存。

默认情况下,uv会缓存从源代码构建的wheel包以及直接下载的预构建wheel包,以实现高性能的包安装。但在某些场景下,持久化存储预构建wheel可能并不理想。例如在GitHub Actions中,从缓存中排除预构建wheel并在每次运行时重新下载它们反而更快。不过缓存从源代码构建的wheel通常确实更快,因为wheel构建过程可能非常耗时,特别是对于扩展模块而言。

--ci 模式下,uv会清除缓存中所有预构建的wheel文件,但保留从源代码构建的wheel文件。

--color color-choice

控制输出中颜色的使用。

默认情况下,uv在向终端输出时会自动检测对颜色的支持。

可能的取值:

  • auto: 仅当输出到支持彩色显示的终端或TTY时启用彩色输出
  • always: 无论检测到何种环境,始终启用彩色输出
  • never: 禁用彩色输出
--config-file config-file

用于配置的uv.toml文件路径。

虽然uv的配置可以包含在pyproject.toml文件中,但在当前上下文中不允许这样做。

也可以通过UV_CONFIG_FILE环境变量进行设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径会以给定目录作为基准进行解析。

请参阅 --project 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv 缓存目录

显示缓存目录。

默认情况下,缓存存储在Unix系统的$XDG_CACHE_HOME/uv$HOME/.cache/uv目录下,以及Windows系统的%LOCALAPPDATA%\uv\cache目录中。

当使用--no-cache时,缓存会被存储在临时目录中,并在进程退出时被丢弃。

可以通过cache-dir设置、--cache-dir选项或$UV_CACHE_DIR环境变量来指定替代的缓存目录。

请注意,为了性能考虑,缓存目录必须与uv工具运行的Python环境位于同一文件系统上。

使用说明

uv cache dir [OPTIONS]

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv self

管理uv可执行文件

使用说明

uv self [OPTIONS] <COMMAND>

命令

uv self update

更新uv

uv self version

显示uv的版本

uv 自我更新

更新uv

使用说明

uv self update [OPTIONS] [TARGET_VERSION]

参数

TARGET_VERSION

更新到指定版本。如果未提供,uv将更新到最新版本

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--dry-run

运行但不执行更新

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--token token

用于身份验证的GitHub令牌。虽然令牌不是必需的,但使用它可以降低遭遇速率限制的可能性

也可以通过 UV_GITHUB_TOKEN 环境变量进行设置。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv 自身版本

显示 uv 的版本

使用说明

uv self version [OPTIONS]

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--output-format output-format
--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--short

仅打印版本

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv 版本

读取或更新项目的版本

使用说明

uv version [OPTIONS] [VALUE]

参数

VALUE

将项目版本设置为该值

要使用语义化版本控制组件更新项目,请使用--bump

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--bump bump

使用给定的语义更新项目版本

可能的取值:

  • major: 增加主版本号 (1.2.3 => 2.0.0)
  • minor: 增加次版本号 (1.2.3 => 1.3.0)
  • patch: 增加补丁版本号 (1.2.3 => 1.2.4)
--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--dry-run

不要将新版本写入pyproject.toml

相反,将显示版本。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--output-format output-format
--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--short

仅显示版本

默认情况下,uv会在版本号前显示项目名称。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)

uv generate-shell-completion

生成Shell自动补全

使用说明

uv generate-shell-completion [OPTIONS] <SHELL>

参数

SHELL

用于生成补全脚本的shell

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--directory directory

在运行命令之前切换到指定目录。

相对路径会以给定目录作为基准进行解析。

请参阅 --project 以仅更改项目根目录。

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

uv help

显示命令的文档

使用说明

uv help [OPTIONS] [COMMAND]...

参数

COMMAND

选项

--allow-insecure-host, --trusted-host allow-insecure-host

允许与主机建立不安全连接。

可以多次提供。

期望接收主机名(例如localhost)、主机-端口对(例如localhost:8080)或URL(例如https://localhost)。

警告:此列表包含的主机将不会通过系统证书存储进行验证。仅在安全网络中使用已验证来源时使用--allow-insecure-host,因为它会绕过SSL验证,可能使您遭受中间人攻击。

也可以通过 UV_INSECURE_HOST 环境变量进行设置。

--cache-dir cache-dir

缓存目录的路径。

默认为 $XDG_CACHE_HOME/uv 或 macOS 和 Linux 上的 $HOME/.cache/uv,以及 Windows 上的 %LOCALAPPDATA%\uv\cache

要查看缓存目录的位置,请运行 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 以仅更改项目根目录。

--help, -h

显示该命令的简明帮助信息

--managed-python

需要使用uv管理的Python版本。

默认情况下,uv优先使用它管理的Python版本。但如果未安装uv管理的Python版本,则会使用系统Python版本。此选项将禁用系统Python版本的使用。

也可以通过设置环境变量 UV_MANAGED_PYTHON 来实现。

--native-tls

是否从平台的本地证书存储中加载TLS证书。

默认情况下,uv会从内置的webpki-roots包加载证书。webpki-roots是来自Mozilla的一套可靠信任根证书,将其包含在uv中可以提高可移植性和性能(特别是在macOS系统上)。

然而在某些情况下,您可能希望使用平台的原生证书存储,特别是当您依赖系统证书存储中包含的企业信任根证书时(例如用于强制代理的情况)。

也可以通过 UV_NATIVE_TLS 环境变量进行设置。

--no-cache, --no-cache-dir, -n

避免从缓存读取或写入缓存,而是在操作期间使用临时目录

也可以通过设置环境变量 UV_NO_CACHE 来实现。

--no-config

避免发现配置文件(pyproject.toml, uv.toml)。

通常情况下,配置文件会在当前目录、父目录或用户配置目录中被发现。

也可以通过 UV_NO_CONFIG 环境变量进行设置。

--no-managed-python

禁用由uv管理的Python版本。

相反,uv会在系统中搜索合适的Python版本。

也可以通过UV_NO_MANAGED_PYTHON环境变量进行设置。

--no-pager

打印帮助时禁用分页器

--no-progress

隐藏所有进度输出。

例如,加载动画或进度条。

也可以通过设置环境变量 UV_NO_PROGRESS 来实现。

--no-python-downloads

禁用Python的自动下载功能。

--offline

禁用网络访问。

禁用时,uv将仅使用本地缓存数据和本地可用文件。

也可以通过 UV_OFFLINE 环境变量进行设置。

--project project

在给定的项目目录中运行该命令。

所有pyproject.tomluv.toml.python-version文件都会通过从项目根目录向上遍历目录树被发现,项目的虚拟环境(.venv)也是如此。

其他命令行参数(如相对路径)将相对于当前工作目录进行解析。

参见 --directory 选项可完全更改工作目录。

该设置在uv pip界面中使用时无效。

也可以通过 UV_PROJECT 环境变量进行设置。

--quiet, -q

使用静默输出。

重复此选项,例如 -qq,将启用静默模式,在此模式下 uv 不会向 stdout 写入任何输出。

--verbose, -v

使用详细输出。

You can configure fine-grained logging using the RUST_LOG environment variable. (<https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives>)