必须显式设置UV_CACHE_DIR、UV_PYTHON_INSTALL_DIR和UV_INSTALL_DIR三个环境变量,分别指定缓存、Python解释器和uv可执行文件路径至D盘,否则仅改其一仍会导致部分数据落C盘。

uv 默认配置会把缓存、Python 解释器、可执行文件全塞进系统盘(比如 C:\Users\用户名\.cache\uv 或 %LOCALAPPDATA%\uv\python),Windows 用户装几次大包就可能触发磁盘告警。真正好用的配置不是“装上就跑”,而是提前把路径、镜像、环境行为全部收口到可控位置。
如何强制 uv 所有数据落地到 D 盘
uv 不会自动读取 Path 或用户目录偏好,必须显式设置环境变量才能重定向关键路径。只改 UV_CACHE_DIR 不够——它只管包缓存,UV_PYTHON_INSTALL_DIR 和 UV_INSTALL_DIR 同样关键,否则 Python 解释器和 uv 本体仍会落 C 盘。
-
UV_CACHE_DIR=D:\Code\Python\UV\cache:所有 wheel/sdist 缓存、解析中间结果都写这里,占空间最大 -
UV_PYTHON_INSTALL_DIR=D:\Code\Python\UV\python:uv python install 3.12下载的解释器二进制放这,避免污染 Conda 或系统 Python -
UV_INSTALL_DIR=D:\Code\Python\UV\bin:安装脚本(irm https://astral.sh/uv/install.ps1 | iex)把uv.exe和uvx.exe放这,不是靠手动复制 -
Path中添加D:\Code\Python\UV\bin,且建议放在最前面,防止和 Anaconda 的uv.exe冲突
为什么不能只用 pip 兼容命令(uv pip install)
用 uv pip install 看似省事,但会跳过 uv 的核心优势:锁文件生成、依赖图精确解析、dev 依赖隔离。它只是“更快的 pip”,没激活项目级环境治理能力。
Python uv 0.12.20 是 Astral 开发的 Python 包与项目管理工具,支持依赖解析、虚拟环境、Python 版本及项目锁文件管理。本下载包适用于 Windows x64,解压后可使用 uv 命令。
- 不生成
uv.lock:下次uv pip install -r requirements.txt可能拉到新版依赖,破坏一致性 - 不区分
--dev:测试工具(如pytest)混进生产依赖,导出requirements.txt时难过滤 - 无法用
uv run隔离执行:比如uv run black .会自动找当前项目的.venv或uv.lock,而uv pip install安装的包在全局或当前 venv 里,路径不可控
PyCharm 中 uv 项目识别失败的常见原因
PyCharm(2025.2+)原生支持 uv,但前提是项目根目录存在 pyproject.toml 且里面声明了 Python 版本。如果只用 uv venv .venv 创建环境却不初始化项目,PyCharm 会当普通文件夹处理,不加载 uv 解释器。
立即学习“Python免费学习笔记(深入)”;
- 必须先运行
uv init myapp --python 3.12,生成带[project.requires-python]的pyproject.toml - 虚拟环境路径要规范:推荐用
.venv(默认名),不要自定义成env或venv(少个点),PyCharm 对点开头的目录识别更稳定 - 检查 PyCharm 设置 → Project → Python Interpreter → Show All → + → “System Interpreter” 路径是否指向
.venv\Scripts\python.exe(Windows)或.venv/bin/python(macOS/Linux)
最易被忽略的是 UV_DEFAULT_INDEX 没配——即使设置了清华源,uv 仍可能 fallback 到官方源重试一次,导致首次安装卡住几秒。这个变量必须和缓存路径一样,在用户环境变量里硬编码,不能只靠命令行临时 $env: 设置。

















