跳到内容

存储

存储目录

uv 使用以下高阶目录进行存储。

对于每个位置,uv 会按照给定顺序检查环境变量是否存在,并使用找到的第一个路径。

存储目录的路径因平台而异。uv 在 Linux 和 macOS 上遵循 XDG 规范,在 Windows 上遵循 已知文件夹 (Known Folder) 方案。

临时目录

临时目录用于存放瞬态数据。

  1. $TMPDIR
  2. /tmp
  1. %TMP%
  2. %TEMP%
  3. %USERPROFILE%

缓存目录

缓存目录用于存放可丢弃但长期保存会有益的数据。

  1. $XDG_CACHE_HOME/uv
  2. $HOME/.cache/uv
  1. %LOCALAPPDATA%\uv\cache
  2. FOLDERID_LocalAppData 下的 uv\cache

持久化数据目录

持久化数据目录用于存放不可丢弃的数据。

  1. $XDG_DATA_HOME/uv
  2. $HOME/.local/share/uv
  3. $CWD/.uv
  1. %APPDATA%\uv\data
  2. .\.uv

配置目录

配置目录用于存储对 uv 设置的更改。

用户级配置

  1. $XDG_CONFIG_HOME/uv
  2. $HOME/.config/uv
  1. %APPDATA%\uv
  2. FOLDERID_RoamingAppData 下的 uv

系统级配置

  1. $XDG_CONFIG_DIRS/uv
  2. /etc/uv
  1. %PROGRAMDATA%\uv
  2. FOLDERID_AppDataProgramData 下的 uv

可执行文件目录

可执行文件目录用于存储可由用户运行的文件,即应位于 PATH 中的目录。

  1. $XDG_BIN_HOME
  2. $XDG_DATA_HOME/../bin
  3. $HOME/.local/bin
  1. %XDG_BIN_HOME%
  2. %XDG_DATA_HOME%\..\bin
  3. %USERPROFILE%\.local\bin

数据类型

依赖缓存

uv 使用本地缓存来避免重复下载和重新构建依赖项。

默认情况下,缓存存储在缓存目录中,但可以通过命令行参数、环境变量或设置进行覆盖,详情请参考缓存文档。当缓存被禁用时,缓存将存储在临时目录中。

使用 uv cache dir 查看当前的缓存目录路径。

重要

为了获得最佳性能,缓存目录需要与虚拟环境位于同一文件系统上。

Python 版本

uv 可以安装托管的 Python 版本,例如通过 uv python install

默认情况下,由 uv 托管的 Python 版本存储在持久化数据目录下的 python/ 子目录中,例如 ~/.local/share/uv/python

使用 uv python dir 查看 Python 安装目录。

使用 UV_PYTHON_INSTALL_DIR 环境变量来覆盖安装目录。

注意

更改 Python 安装位置不会自动反映在现有的虚拟环境中;它们将继续指向旧位置,并需要手动更新(例如通过重新创建它们)。

Python 可执行文件

uv 为 Python 版本安装可执行文件,例如 python3.13

默认情况下,Python 可执行文件存储在可执行文件目录中。

使用 uv python dir --bin 查看 Python 可执行文件目录。

使用 UV_PYTHON_BIN_DIR 环境变量来覆盖 Python 可执行文件目录。

工具

uv 可以使用 uv tool install 将 Python 包作为命令行工具安装。

默认情况下,工具安装在持久化数据目录下的 tools/ 子目录中,例如 ~/.local/share/uv/tools

使用 uv tool dir 查看工具安装目录。

使用 UV_TOOL_DIR 环境变量来配置安装目录。

工具可执行文件

uv 为安装的 工具安装可执行文件,例如 ruff

默认情况下,工具可执行文件存储在可执行文件目录中。

使用 uv tool dir --bin 查看工具可执行文件目录。

使用 UV_TOOL_BIN_DIR 环境变量来配置工具可执行文件目录。

uv 可执行文件

当使用 uv 的独立安装程序安装 uv 时,uvuvx 可执行文件会被安装到可执行文件目录中。

使用 UV_INSTALL_DIR 环境变量来配置 uv 的安装目录。

配置文件

uv 的行为可以通过 TOML 文件进行配置。

配置文件在配置目录中被发现。

有关更多详细信息,请参阅配置文件文档

项目虚拟环境

当处理项目时,uv 为每个项目创建一个专用的虚拟环境。

默认情况下,项目虚拟环境在项目或工作区根目录下的 .venv 中创建,即 pyproject.toml 旁边。

使用 UV_PROJECT_ENVIRONMENT 环境变量来覆盖此位置。有关更多详细信息,请参阅项目环境文档

脚本虚拟环境

当运行带有内联元数据的脚本时,uv 会在缓存目录中为每个脚本创建一个专用的虚拟环境。