一、Pip 缓存管理

pip 主要使用一个缓存目录来存储下载的 wheel 文件和源码包。

1. 查看 Pip 缓存目录

使用以下命令来查看当前 pip 缓存目录的路径:

pip cache dir   

示例输出 (Windows):

C:\Users\YourUsername\AppData\Local\pip\Cache

示例输出 (Linux/macOS):

~/.cache/pip

2. 查看 Pip 缓存信息 (占用空间等)

你可以查看缓存中存储的包信息和总体积:

pip cache info

示例输出:

Cache directory: /home/user/.cache/pip
Total number of items in cache: 150
Total size of cache: 1.2 GB
Number of wheels: 100
Number of http files: 50    

3. 列出 Pip 缓存中的包

可以列出缓存中特定包或所有包:

# 列出所有缓存的包
pip cache list

# 列出名为 'requests' 的包的缓存项 (支持通配符)
pip cache list requests    

4. 清除 Pip 缓存

a. 清除所有缓存

这将删除缓存目录下的所有文件:

pip cache purge

执行此命令后,pip 会询问你是否确认删除。

b. 清除特定包的缓存

如果你只想删除某个特定包的缓存文件:

pip cache remove <package_name>

例如,删除 requests 包的缓存:

pip cache remove requests

5. (可选) 更改 Pip 缓存目录位置

如果你希望将 pip 的缓存目录移动到其他磁盘(例如 D 盘),可以设置环境变量 PIP_CACHE_DIR。

Windows (临时设置,仅当前 CMD/PowerShell 会话有效):

 $env:PIP_CACHE_DIR = "D:\pip_cache"
# 或者在 CMD 中:
# set PIP_CACHE_DIR=D:\pip_cache

Linux/macOS (临时设置,仅当前终端会话有效):

export PIP_CACHE_DIR="/path/to/your/d_drive_cache" 

要永久更改,需要将此环境变量添加到系统环境变量或用户的 shell 配置文件中(如 .bashrc, .zshrc, 或通过 Windows 的系统属性设置)。


二、Conda 缓存管理

conda 也有自己的包缓存系统,通常位于 Anaconda/Miniconda 安装目录下的 pkgs 文件夹,或者用户目录下的 .conda/pkgs。

1. 查看 Conda 缓存信息

使用 conda info 命令可以查看包括包缓存(package cache)在内的多种 conda 配置信息:

conda info    

在输出中找到 package cache 或 pkgs directories 相关的行,会显示缓存路径。

2. 清除 Conda 缓存

conda 提供了 clean 命令来管理和清除缓存。

a. 清除已下载的包(tarballs)

这将删除 pkgs 目录中下载的但尚未解压的 .tar.bz2 或 .conda 包文件:

conda clean --tarballs
# 或者简写
conda clean -t

b. 清除未使用的已安装包

这将删除在任何环境中都没有被引用的已安装包(即 pkgs 目录中已解压但不再被任何环境需要的包):

conda clean --packages
# 或者简写
conda clean -p

c. 清除索引缓存、锁文件等

conda clean --index-cache
conda clean --lock
conda clean --tempfiles    

d. 清除所有类型的缓存(推荐)

最常用的命令是清除所有可清理的缓存,包括以上几种:

conda clean --all 

执行此命令时,conda 可能会列出将要删除的文件和目录,并询问你是否确认。

3. (可选) 管理 Conda 的 pkgs_dirs

通常情况下,Conda 的主包缓存目录 (pkgs_dirs 的第一个路径) 会跟随 Anaconda/Miniconda 的安装位置。如果你想添加额外的包缓存目录或更改其优先级,可以修改 .condarc 配置文件中的 pkgs_dirs 设置。但这属于更高级的配置,一般用户较少需要直接修改。


总结:

定期清理 pip 和 conda 的缓存是一个好习惯,尤其是在磁盘空间紧张或者遇到奇怪的包安装问题时。使用 pip cache purge 和 conda clean —all 是快速释放空间和解决潜在缓存冲突的有效方法。如果有特定的需求,可以根据上述命令进行更细致的缓存管理。

Author

JuyaoHuang

Publish Date

10 - 10 - 2025