pip残留文件主要在系统临时目录(如%temp%),而非缓存目录;需用关键词搜索并分步确认删除,避免误删运行中程序的临时文件。

pip 的临时下载文件默认不保留,但若安装中断、缓存启用或使用 --no-cache-dir 失败,残留会出现在 %LOCALAPPDATA%\pip\Cache(Windows)或 ~/.cache/pip(Linux/macOS)——它们不是“临时下载”而是缓存,真正要删的是未完成的 .whl/.tar.gz 下载物,通常藏在系统临时目录里。
确认 pip 缓存位置和内容
先看 pip 实际用的缓存路径,避免误删其他目录:
- 运行
pip cache dir,输出类似C:\Users\Alice\AppData\Local\pip\Cache - 该目录下
http子目录存的是远程包元数据(小文件,可删),http外层才是已下载的.whl或.tar.gz包(大头) - 注意:
pip cache purge只清http和包缓存,不碰系统临时目录里的断点下载
清理系统临时目录中的 pip 下载残留
pip 在下载失败或被 Ctrl+C 中断时,可能把未完成的包留在系统临时文件夹,比如 Windows 的 %TEMP%(即 C:\Users\...\AppData\Local\Temp):
- 手动进
%TEMP%,搜索关键词:*whl、*tar.gz、*.zip、pip-* - 常见残留名如:
pip-req-build-xxxxx(编译临时目录)、get-pip.py附近生成的tmp*.whl - 别直接删整个
%TEMP%—— 很多程序正在用它;优先筛出含pip、whl、tar的文件/文件夹
用命令行精准定位并删除(Windows 示例)
比手动翻更可靠,且能避开正在被占用的文件:
- 查所有 pip 相关临时文件:
dir /s /b %TEMP%\*pip* %TEMP%\*.whl %TEMP%\*.tar.gz 2>nul - 安全删除(先预览):
for %i in (%TEMP%\*pip*, %TEMP%\*.whl, %TEMP%\*.tar.gz) do @echo %i - 确认无误后执行删:
for %i in (%TEMP%\*pip*, %TEMP%\*.whl, %TEMP%\*.tar.gz) do @if exist "%i" del /f /q "%i" - 注意:
del不递归删目录,若发现pip-req-build-这类文件夹,需用rd /s /q "路径"
预防下次再留一堆临时文件
根本解法是控制 pip 行为,而非反复清理:
- 装包时加
--no-cache-dir:例如pip install requests --no-cache-dir,跳过缓存,也不落临时包到%TEMP% - 禁用全局缓存(一劳永逸):
pip config set global.cache-dir "",之后所有 pip 操作都不缓存 - 避免 Ctrl+C 中断安装 —— pip 在下载中途被杀,最容易在
%TEMP%留下碎片;改用pip install --timeout 60控制等待
真正难清理的从来不是 pip 缓存本身,而是那些没进缓存、又没被正常清理的“半途而废”下载物——它们分散在 %TEMP% 里,名字随机、权限可能被占用,必须靠关键词筛选+分步确认。别信一键清空 %TEMP% 的脚本,那大概率会干掉你正跑着的 Jupyter 或 VS Code 临时进程。











