日常开发中经常遇到离线部署、多机器统一环境、打包依赖的场景,很多人分不清几个关键路径:

pip install xxx 在线下载的 whl 缓存在哪?本文全平台覆盖 Windows / macOS / Linux,附带查询、清理、迁移缓存全套实操命令,解决离线打包、C盘爆满、重复下载等常见痛点。
pip 缓存是用户级全局目录,所有 Python、所有虚拟环境共用一套缓存,不会重复下载相同版本whl。
| 操作系统 | 缓存根目录 | whl包存放子目录 |
|---|---|---|
| Windows | %LocalAppData%pipCache | %LocalAppData%pipCachewheels |
| macOS | ~/Library/Caches/pip | ~/Library/Caches/pip/wheels |
| Linux | ~/.cache/pip | ~/.cache/pip/wheels |
Windows 快速打开方式
Win+R 输入路径直达:
%LocalAppData%pipCache
AppData 是系统隐藏文件夹,不要手动一层层找,直接粘贴地址栏打开。
无论什么系统、是否激活虚拟环境,终端执行:
pip cache dir
示例 Windows 输出:
c:usersAdministratorappdatalocalpipcache
wheels:所有在线下载成功的 .whl 预编译包永久保存在这里,下次安装同一版本直接读取本地,不走网络;http-v2:PyPI 索引页面、源码压缩包(tar.gz/zip)缓存,不存放whl;pip install numpy 在线拉取 → 自动存入全局缓存 wheels;pip install D:whlnumpy-1.21.6-cp310-win_amd64.whl 本地离线文件安装 → 不会存入pip缓存。不属于pip管理,仅存在浏览器默认下载文件夹:
C:UsersAdministratorDownloads~/Downloads~/Downloads特点:不会自动缓存,离线部署需要手动复制备份。
pip安装过程会把whl解压到系统临时目录,用于编译、复制文件,安装成功后自动清空;安装失败会残留临时文件。
C:UsersAdministratorAppDataLocalTemppip-wheel-xxxx/tmp/pip-wheel-xxxx报错日志里出现的临时路径都属于这里,无需手动备份。
很多人混淆“下载的whl包”和“安装后的代码文件”:
whl是压缩安装包,安装后会解压复制到Python库目录,原始whl缓存还在Cache文件夹。
原生全局Python(Windows)
C:UsersAdministratorAppDataLocalProgramsPythonPython310Libsite-packages
虚拟环境 venv_detayun_env
E:python_envvenv_detayun_envLibsite-packages
macOS/Linux 全局
/usr/local/lib/python3.10/site-packages
查询单个包安装位置命令:
pip show numpy
不独立!
虚拟环境仅隔离 site-packages 已安装代码,下载缓存统一使用当前系统用户的全局pip Cache,多虚拟环境共用whl缓存,大幅节省带宽与磁盘。
pip cache info
输出缓存总大小、wheel数量、索引缓存信息。
pip cache list # 输出绝对路径格式 pip cache list --format abspath
pip cache remove dlib
pip cache purge
适用场景:缓存文件损坏导致编码报错、磁盘空间不足、切换离线环境前清理无用包。
pip install torch==1.13.1+cu116 --no-cache-dir
适合缓存文件残缺、版本错乱的修复场景。
如果需要内网离线打包,直接从缓存目录复制wheels文件夹,或用命令批量下载所有依赖whl:
# 在项目根目录,下载所有依赖whl到本地文件夹 pip download -r requirements.txt -d ./whl_cache
下载后的文件全部保存在当前目录 whl_cache,可拷贝到无网络机器离线安装。
A:无关。这类报错是源码编译流程读取CMake文件编码异常,不是缓存whl问题;解决方案直接安装预编译whl二进制包,不走源码构建流程。
A:pip缓存按用户隔离,每个Windows账户拥有独立 %LocalAppData%pipCache,切换用户缓存不互通。
A:完全可以,执行 pip cache purge 安全清理,不会影响已安装的Python库,只是下次安装需要重新下载对应whl。
A:带CUDA后缀的包仅存在PyTorch官方仓库,清华源无缓存,必须附加 --extra-index-url 参数安装才能正常缓存。
pip install下载的whl永久缓存:Windows %LocalAppData%pipCachewheels;pip cache dir / pip cache purge 两条命令覆盖90%缓存管理场景;pip download 批量导出whl,避免手动复制缓存文件夹遗漏。