pip缓存那些事儿:清除、查看、换个位置

最近在折腾 Python 环境的时候,C盘空间告急,找了半天发现 pip 缓存居然占了好几个G… 想着顺便整理一下 pip 缓存相关的知识,分享给同样被磁盘空间折磨的小伙伴们。

pip缓存是个啥

简单来说,pip 下载安装包的时候,不会直接扔掉,而是存一份在本地缓存里。下次再装同样的包,直接从缓存拿,不用重新下载。

听起来挺贴心的对吧?但时间久了,这个缓存可能会膨胀到好几G,尤其是你经常折腾各种包、各种版本的时候。

先看看缓存在哪

1
pip cache dir

Windows 上一般是 %LocalAppData%\pip\cache,Linux/macOS 则是 ~/.cache/pip

想知道缓存占了多少空间?可以直接去那个目录看,或者:

1
pip cache info

upload successful

清除缓存

如果磁盘空间紧张,或者安装包时遇到奇怪的校验错误,可以清除缓存:

1
2
3
4
5
# 清除全部缓存
pip cache purge

# 只清除某个包的缓存
pip cache remove numpy

不过要注意,清除后下次安装相同的包需要重新下载,网速慢的话可能会有点痛苦。还有就是离线安装会失效,没网的时候之前装过的包就没法离线装了。

我的建议:平时不用管它,只有空间实在紧张或者遇到安装报错的时候再清。

换个缓存位置

如果C盘空间不够,可以把缓存挪到其他盘。

方法一:配置文件(推荐)

编辑 pip 配置文件,添加:

1
2
[global]
cache-dir = D:\pip_cache

配置文件位置:

  • Windows: %AppData%\pip\pip.ini
  • Linux/macOS: ~/.config/pip/pip.conf

文件不存在的话直接创建就行。

方法二:环境变量

设置 PIP_CACHE_DIR 环境变量:

1
2
3
4
5
# Windows PowerShell
$env:PIP_CACHE_DIR = "D:\pip_cache"

# Linux/macOS
export PIP_CACHE_DIR=/your/custom/path

想永久生效就加到系统环境变量里。

方法三:临时指定

单次安装时指定:

1
pip install --cache-dir D:\pip_cache some-package

改完之后用 pip cache dir 验证一下是否生效。

小结

pip 缓存这东西平时不太起眼,但关键时刻可能帮你省不少下载时间。当然,如果空间紧张,清掉或者换个位置也行。希望这篇能帮到同样被磁盘空间困扰的小伙伴~