pip cache dir 显示的路径未生效,需优先设置pip_cache_dir环境变量,其次检查pip.ini/pip.conf配置文件路径、编码及格式,最后执行pip cache purge清理旧缓存并验证。

pip cache dir 命令显示的路径不是你想要的?
直接运行 pip cache dir 就能看见当前生效的缓存路径。如果它还在 C:\Users\{user}\AppData\Local\pip\Cache(Windows)或 ~/.cache/pip(macOS/Linux),说明还没改成功。这不是 pip 读取配置失败,而是环境变量或配置文件没被识别——常见原因是路径写错、文件名拼错、或放在了错误位置。
用 PIP_CACHE_DIR 环境变量最可靠
这是官方推荐且优先级最高的方式,无需修改任何 Python 源码,重启终端后立即生效。
- Windows(命令行):
setx PIP_CACHE_DIR "D:\pip_cache"(注意:需重启 cmd 或 PowerShell 才生效) - Windows(PowerShell):
[System.Environment]::SetEnvironmentVariable('PIP_CACHE_DIR','D:\pip_cache','User') - macOS/Linux:
echo 'export PIP_CACHE_DIR="/path/to/pip_cache"' >> ~/.zshrc && source ~/.zshrc
验证是否生效:echo %PIP_CACHE_DIR%(Windows)或 echo $PIP_CACHE_DIR(macOS/Linux)。只要这个变量输出正确,pip cache dir 就一定会返回对应路径。
pip.ini / pip.conf 配置文件也能用,但有坑
配置文件方式次之,容易因路径、编码、权限出问题。Windows 下必须放在 %APPDATA%\pip\pip.ini(不是 %LOCALAPPDATA%),Linux/macOS 必须是 ~/.pip/pip.conf 或 ~/.config/pip/pip.conf。
内容只需一行:
[global] cache-dir = D:\pip_cache
注意点:
- 文件必须是 UTF-8 无 BOM 编码
-
cache-dir值末尾不能带斜杠(D:\pip_cache\会报错) - 路径中不要含空格或中文(某些旧版 pip 会解析失败)
- 如果同时设置了
PIP_CACHE_DIR环境变量,它会覆盖配置文件里的cache-dir
改完缓存路径后记得清理旧缓存
新路径生效后,旧缓存不会自动迁移,也不会被自动删除。C 盘里残留的缓存仍占空间,而且 pip 不会主动去读它。
执行以下命令可安全清空旧缓存:
pip cache purge
再运行一次 pip cache info,确认 Cache size 是 0,且 Cache directory 已指向新路径。如果还看到旧路径,说明环境变量或配置文件没生效,优先检查 echo %PIP_CACHE_DIR% 输出。
真正麻烦的不是改路径,而是改完之后忘了验证 pip cache dir 输出是否同步更新——很多人卡在这一步,反复编辑 pip.ini 却始终无效,其实只是环境变量没设对或终端没重启。











