跳转至

环境变量

uv 定义并遵循以下环境变量:

UV_BREAK_SYSTEM_PACKAGES

等同于 --break-system-packages 命令行参数。如果设置为 true, uv 将允许安装与系统安装的软件包冲突的软件包。

警告:UV_BREAK_SYSTEM_PACKAGES=true 旨在用于持续集成 (CI)或容器化环境,使用时应谨慎,因为修改系统 Python 可能会导致意外行为。

UV_BUILD_CONSTRAINT

等同于 --build-constraint 命令行参数。如果设置,uv 将使用此文件 作为任何源发行版构建的约束条件。使用以空格分隔的文件列表。

UV_CACHE_DIR

等同于 --cache-dir 命令行参数。如果设置,uv 将使用此 目录进行缓存,而不是默认的缓存目录。

UV_COMPILE_BYTECODE

等同于 --compile-bytecode 命令行参数。如果设置,uv 将在安装后将 Python 源文件编译为字节码。

UV_CONCURRENT_BUILDS

设置 uv 在任何给定时间将同时构建的源发行版的最大数量。

UV_CONCURRENT_DOWNLOADS

设置 uv 在任何给定时间将执行的并发下载的最大数量。

UV_CONCURRENT_INSTALLS

控制安装和解压缩软件包时使用的线程数。

UV_CONFIG_FILE

等同于 --config-file 命令行参数。需要一个本地 uv.toml 文件的路径,用作配置文件。

UV_CONSTRAINT

等同于 --constraint 命令行参数。如果设置,uv 将使用此 文件作为约束文件。使用以空格分隔的文件列表。

UV_CUSTOM_COMPILE_COMMAND

等同于 --custom-compile-command 命令行参数。

用于覆盖 uv pip compile 生成的 requirements.txt 文件输出头部中的 uv。适用于从包装脚本中调用 uv pip compile 的场景,以便在输出文件中包含包装脚本的名称。

UV_DEFAULT_INDEX

等同于 --default-index 命令行参数。如果设置了该参数,uv 在搜索软件包时将使用此 URL 作为默认索引。

UV_ENV_FILE

执行 uv run 命令时从中加载环境变量的 .env 文件。

UV_EXCLUDE_NEWER

等同于 --exclude-newer 命令行参数。如果设置了该参数,uv 将排除在指定日期之后发布的发行版。

UV_EXTRA_INDEX_URL

等同于 --extra-index-url 命令行参数。如果设置了该参数,uv 在搜索软件包时将使用此以空格分隔的 URL 列表作为附加索引。(已弃用:请改用 UV_INDEX。)

等同于 --find-links 命令行参数。如果设置了该参数,uv 将使用此以逗号分隔的其他位置列表来搜索软件包。

UV_FORK_STRATEGY

等同于 --fork-strategy 参数。在通用解析期间控制版本选择。

UV_FROZEN

等同于 --frozen 命令行参数。如果设置了该参数,uv 将在不更新 uv.lock 文件的情况下运行。

UV_GITHUB_TOKEN

等同于自更新的 --token 参数。用于身份验证的 GitHub 令牌。

UV_GIT_LFS

从 Git 存储库安装软件包时,启用对存储在 Git LFS 中的文件的获取。

UV_HTTP_TIMEOUT

HTTP 请求的超时时间(以秒为单位)。(默认值:30 秒)

UV_INDEX

等同于 --index 命令行参数。如果设置了该参数,uv 在搜索软件包时将使用此以空格分隔的 URL 列表作为附加索引。

UV_INDEX_STRATEGY

等同于 --index-strategy 命令行参数。

例如,如果设置为 unsafe-best-match,uv 将考虑给定软件包在所有索引 URL 上可用的版本,而不是将搜索限制在包含该软件包的第一个索引 URL。

UV_INDEX_URL

等同于 --index-url 命令行参数。如果设置了该参数,uv 将在搜索软件包时使用此 URL 作为默认索引。 (已弃用:请改用 UV_DEFAULT_INDEX。)

UV_INDEX_{name}_PASSWORD

为命名索引提供 HTTP 基本身份验证密码。

name 参数是索引的名称。例如,对于名为 foo 的索引,环境变量键将是 UV_INDEX_FOO_PASSWORD

UV_INDEX_{name}_USERNAME

为命名索引提供 HTTP 基本身份验证用户名。

name 参数是索引的名称。例如,对于名为 foo 的索引,环境变量键将是 UV_INDEX_FOO_USERNAME

UV_INSECURE_HOST

等同于 --allow-insecure-host 参数。

UV_INSTALLER_GHE_BASE_URL

使用独立安装程序和 self update 功能下载 uv 时所使用的 URL,用于替代默认的 GitHub Enterprise URL。

UV_INSTALLER_GITHUB_BASE_URL

使用独立安装程序和 self update 功能下载 uv 时所使用的 URL,用于替代默认的 GitHub URL。

UV_INSTALL_DIR

使用独立安装程序和 self update 功能安装 uv 的目录。默认为 ~/.local/bin

UV_KEYRING_PROVIDER

等同于 --keyring-provider 命令行参数。如果设置了该参数,uv 将使用此值作为密钥环提供程序。

等同于 --link-mode 命令行参数。如果设置了该参数,uv 将使用此值作为链接模式。

UV_LOCKED

等同于 --locked 命令行参数。如果设置了该参数,uv 将断言 uv.lock 保持不变。

UV_LOG_CONTEXT

为日志消息添加额外的上下文和结构。

如果未启用日志记录(例如,通过 RUST_LOG-v),则此操作无效。

UV_MANAGED_PYTHON

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

UV_NATIVE_TLS

等同于 --native-tls 命令行参数。如果设置为 true,uv 将使用系统的信任库,而不是捆绑的 webpki-roots 库。

UV_NO_BINARY

等同于 --no-binary 命令行参数。如果设置,uv 将从源代码安装所有软件包。解析器仍将使用预构建的 wheel 文件(如果可用)来提取软件包元数据。

UV_NO_BINARY_PACKAGE

等同于 --no-binary-package 命令行参数。如果设置,uv 将不会对给定的以空格分隔的软件包列表使用预构建的 wheel 文件。

UV_NO_BUILD

等同于 --no-build 命令行参数。如果设置,uv 将不会构建源发行版。

UV_NO_BUILD_ISOLATION

等同于 --no-build-isolation 命令行参数。如果设置,uv 在构建源发行版时将跳过隔离。

UV_NO_BUILD_PACKAGE

等同于 --no-build-package 命令行参数。如果设置,uv 将不会为给定的以空格分隔的软件包列表构建源发行版。

UV_NO_CACHE

等同于 --no-cache 命令行参数。如果设置,uv 将不会在任何操作中使用缓存。

UV_NO_CONFIG

等同于 --no-config 命令行参数。如果设置,uv 将不会从当前目录、父目录或用户配置目录读取任何配置文件。

UV_NO_EDITABLE

等同于 --no-editable 命令行参数。如果设置,uv 会将任何可编辑依赖项(包括项目和任何工作区成员)安装为不可编辑的。

UV_NO_ENV_FILE

执行 uv run 命令时忽略 .env 文件。

UV_NO_INSTALLER_METADATA

跳过将 uv 安装程序元数据文件(例如 INSTALLERREQUESTEDdirect_url.json)写入站点包的 .dist-info 目录。

UV_NO_MANAGED_PYTHON

禁用使用 uv 管理的 Python 版本。

UV_NO_PROGRESS

等同于 --no-progress 命令行参数。禁用所有进度输出,例如旋转动画和进度条。

UV_NO_SYNC

等同于 --no-sync 命令行参数。如果设置此环境变量,uv 将跳过更新环境。

UV_NO_VERIFY_HASHES

等同于 --no-verify-hashes 参数。禁用对 requirements.txt 文件的哈希验证。

UV_NO_WRAP

用于禁用诊断信息的自动换行。

UV_OFFLINE

等同于 --offline 命令行参数。如果设置此环境变量,uv 将禁用网络访问。

UV_OVERRIDE

等同于 --override 命令行参数。如果设置此环境变量,uv 将使用该文件作为覆盖文件。使用空格分隔的文件列表。

UV_PRERELEASE

等同于 --prerelease 命令行参数。例如,如果设置为 allow,uv 将允许所有依赖项使用预发布版本。

UV_PREVIEW

等同于 --preview 参数。启用预览模式。

UV_PROJECT

等同于 --project 命令行参数。

UV_PROJECT_ENVIRONMENT

指定项目虚拟环境使用的目录路径。

有关更多详细信息,请参阅项目文档

UV_PUBLISH_CHECK_URL

如果文件已存在于索引中,则不上传该文件。该值为索引的 URL。

UV_PUBLISH_INDEX

等同于 uv publish 中的 --index 命令行参数。如果设置此环境变量,uv 将在发布配置中使用此名称的索引。

UV_PUBLISH_PASSWORD

等同于 uv publish 中的 --password 命令行参数。如果设置此环境变量,uv 将使用此密码进行发布。

UV_PUBLISH_TOKEN

等同于 uv publish 中的 --token 命令行参数。如果设置了该变量,uv 将使用此令牌(用户名设为 __token__)进行发布。

UV_PUBLISH_URL

等同于 --publish-url 命令行参数。uv publish 使用的索引上传端点的 URL。

UV_PUBLISH_USERNAME

等同于 uv publish 中的 --username 命令行参数。如果设置了该变量,uv 将使用此用户名进行发布。

UV_PYPY_INSTALL_MIRROR

托管的 PyPy 安装包从 python.org 下载。

可以将此变量设置为镜像 URL,以便从不同来源获取 PyPy 安装包。提供的 URL 将替换 https://downloads.python.org/pypy,例如 https://downloads.python.org/pypy/pypy3.8-v7.3.7-osx64.tar.bz2。也可以使用 file:// URL 方案从本地目录读取发行版。

UV_PYTHON

等同于 --python 命令行参数。如果设置为一个路径,uv 将在所有操作中使用此 Python 解释器。

UV_PYTHON_BIN_DIR

指定放置已安装的托管 Python 可执行文件链接的目录。

UV_PYTHON_CACHE_DIR

指定在安装前缓存托管 Python 安装包归档文件的目录。

UV_PYTHON_DOWNLOADS

等同于 python-downloads 设置,禁用时等同于 --no-python-downloads 选项。用于设置 uv 是否允许下载 Python。

UV_PYTHON_DOWNLOADS_JSON_URL

托管 Python 安装信息硬编码在 uv 二进制文件中。

可以将此变量设置为指向 JSON 的 URL,用作 Python 安装列表。这将允许设置 Python 安装的每个属性,主要是用于离线镜像的 url 部分。

请注意,目前仅支持本地路径。

UV_PYTHON_INSTALL_DIR

指定存储托管 Python 安装包的目录。

UV_PYTHON_INSTALL_MIRROR

托管的 Python 安装包是从 Astral 的 python-build-standalone 项目下载的。

可以将此变量设置为镜像 URL,以便从不同来源获取 Python 安装包。提供的 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_PREFERENCE

uv 应优先使用系统 Python 版本还是托管 Python 版本。

UV_REQUEST_TIMEOUT

HTTP 请求的超时时间(以秒为单位)。等同于 UV_HTTP_TIMEOUT

UV_REQUIRE_HASHES

等同于 --require-hashes 命令行参数。如果设置为 true, uv 将要求需求文件中指定的所有依赖项都有哈希值。

UV_RESOLUTION

等同于 --resolution 命令行参数。例如,如果设置为 lowest-direct,uv 将安装所有直接依赖项的最低兼容版本。

UV_STACK_SIZE

用于设置 uv 使用的栈大小。

值的单位为字节,如果 UV_STACK_SIZERUST_MIN_STACK 均未设置,uv 将使用 4MB(4194304)的栈。UV_STACK_SIZE 优先于 RUST_MIN_STACK

与常规的 RUST_MIN_STACK 语义不同,这可能会影响主线程的栈大小,因为我们实际上会创建自己的 main2 线程,以解决 Windows 实际主线程只有 1MB 的问题。该线程的大小为 max(UV_STACK_SIZE, 1MB)

UV_SYSTEM_PYTHON

等同于 --system 命令行参数。如果设置为 true,uv 将使用系统 PATH 中找到的第一个 Python 解释器。

警告:UV_SYSTEM_PYTHON=true 适用于持续集成(CI)或容器化环境,使用时应谨慎,因为修改系统 Python 可能会导致意外行为。

UV_TOOL_BIN_DIR

指定用于安装工具可执行文件的 “bin” 目录。

UV_TOOL_DIR

指定 uv 存储托管工具的目录。

UV_TORCH_BACKEND

等同于 --torch-backend 命令行参数(例如 cpucu126auto)。

UV_UNMANAGED_INSTALL

在诸如 CI 这样的临时环境中使用,将 uv 安装到特定路径,同时防止安装程序修改 shell 配置文件或环境变量。

UV_VENV_SEED

将种子包(pipsetuptoolswheel 中的一个或多个)安装到由 uv venv 创建的虚拟环境中。

请注意,setuptoolswheel 不包含在 Python 3.12 及更高版本的环境中。

外部定义的变量

uv 还会读取以下外部定义的环境变量:

ACTIONS_ID_TOKEN_REQUEST_TOKEN

用于通过 uv publish 进行可信发布。包含 OIDC 请求令牌。

ACTIONS_ID_TOKEN_REQUEST_URL

用于通过 uv publish 进行可信发布。包含 OIDC 令牌 URL。

ALL_PROXY

所有网络请求的通用代理。

APPDATA

Windows 系统上用户级配置目录的路径。

BASH_VERSION

用于检测是否使用 Bash shell。

CLICOLOR_FORCE

用于通过 anstyle 控制颜色。

COLUMNS

覆盖用于换行的终端宽度。uv 不会直接读取此变量。

这是一个准标准变量,例如在 ncurses(3x) 中有描述。

CONDA_DEFAULT_ENV

用于确定活动的 Conda 环境是否为基础环境。

CONDA_PREFIX

用于检测已激活的 Conda 环境。

FISH_VERSION

用于检测是否使用 Fish shell。

FORCE_COLOR

强制输出带颜色的内容,无论终端是否支持。

请参阅 force-color.org

GITHUB_ACTIONS

用于通过 uv publish 进行可信发布。

HOME

标准的 HOME 环境变量。

HTTPS_PROXY

HTTPS 请求的代理。

HTTP_PROXY

HTTP 请求的代理。

HTTP_TIMEOUT

HTTP 请求的超时时间(以秒为单位)。等同于 UV_HTTP_TIMEOUT

INSTALLER_NO_MODIFY_PATH

使用独立安装程序和 self update 功能安装 uv 时,避免修改 PATH 环境变量。

JPY_SESSION_NAME

用于检测是否在 Jupyter 笔记本中运行。

KSH_VERSION

用于检测是否使用 Ksh shell。

LOCALAPPDATA

用于查找 Microsoft Store 安装的 Python。

MACOSX_DEPLOYMENT_TARGET

--python-platform macos 及相关变体一起使用,以设置部署目标(即支持的最低 macOS 版本)。

默认值为 13.0,这是编写本文时最新的非终止支持的 macOS 版本。

NETRC

用于设置 .netrc 文件的位置。

NO_COLOR

禁用带颜色的输出(优先于 FORCE_COLOR)。

请参阅 no-color.org

NU_VERSION

用于检测是否使用 NuShell

PAGER

标准的 PAGER posix 环境变量。uv 使用它来配置合适的分页器。

PATH

标准的 PATH 环境变量。

PROMPT

用于检测是否使用 Windows 命令提示符(与 PowerShell 相对)。

PWD

标准的 PWD posix 环境变量。

PYC_INVALIDATION_MODE

使用 --compile 运行时要使用的验证模式。

请参阅 PycInvalidationMode

PYTHONPATH

将目录添加到 Python 模块搜索路径(例如,PYTHONPATH=/path/to/modules)。

RUST_LOG

如果设置了该环境变量,uv 将使用此值作为其 --verbose 输出的日志级别。接受任何与 tracing_subscriber 库兼容的过滤器。

例如: * RUST_LOG=uv=debug 等同于在命令行中添加 --verbose。 * RUST_LOG=trace 将启用跟踪级别的日志记录。

更多信息请参阅 tracing 文档

RUST_MIN_STACK

用于设置 uv 使用的栈大小。

该值以字节为单位,如果 UV_STACK_SIZERUST_MIN_STACK 均未设置,uv 将使用 4MB(4194304)的栈。UV_STACK_SIZE 优先于 RUST_MIN_STACK

建议设置 UV_STACK_SIZE,因为 RUST_MIN_STACK 也会影响子进程,例如使用 Rust 代码的构建后端。

与常规的 RUST_MIN_STACK 语义不同,这可能会影响主线程的栈大小,因为我们实际上会生成自己的 main2 线程,以解决 Windows 真实主线程只有 1MB 的问题。该线程的大小为 max(RUST_MIN_STACK, 1MB)

SHELL

标准的 SHELL POSIX 环境变量。

SSL_CERT_FILE

用于 SSL 连接的自定义证书捆绑文件路径。

SSL_CLIENT_CERT

如果设置了该环境变量,uv 将使用此文件进行 mTLS 身份验证。 这应该是一个包含证书和 PEM 格式私钥的单个文件。

SYSTEMDRIVE

Windows 系统上系统级配置目录的路径。

TRACING_DURATIONS_FILE

用于通过 tracing-durations-export 功能创建跟踪持续时间文件。

USERPROFILE

Windows 系统上用户配置文件根目录的路径。

UV

用于调用 uv 的二进制文件路径。

此路径会传递给 uv 启动的所有子进程。

如果可执行文件是通过符号链接调用的,某些平台将返回符号链接的路径,而其他平台将返回符号链接目标的路径。

有关安全注意事项,请参阅 https://doc.rust-lang.org/std/env/fn.current_exe.html#security

VIRTUAL_ENV

用于检测已激活的虚拟环境。

VIRTUAL_ENV_DISABLE_PROMPT

如果在激活虚拟环境之前将其设置为 1,则虚拟环境名称不会添加到终端提示符前。

XDG_BIN_HOME

可执行文件的安装目录路径。

XDG_CACHE_HOME

Unix 系统上缓存目录的路径。

XDG_CONFIG_DIRS

Unix 系统上系统级配置目录的路径。

XDG_CONFIG_HOME

Unix 系统上用户级配置目录的路径。

XDG_DATA_HOME

用于存储托管的 Python 安装和工具的目录路径。

ZDOTDIR

在使用 Zsh 时,用于确定使用哪个 .zshenv

ZSH_VERSION

用于检测是否在使用 Zsh shell。