conda clean --tarballs仅删除下载的.tar.bz2包文件,最安全但释放空间有限;--packages删除未被任何环境引用的解压包,可释放10–15gb;-a则三合一清理,但可能影响后续索引速度与稳定性。

conda clean --tarballs 只删下载包,最安全但省空间有限
每次 conda install 都会把 .tar.bz2 压缩包原样存进 pkgs/ 目录,哪怕安装完也不自动删。这些文件占的空间通常不大(几 MB 到几百 MB),但积少成多,尤其频繁换 PyTorch/CUDA 版本时。
执行这条命令只动压缩包,不影响已安装环境:
conda clean --tarballs
- 不会删解压后的包,
conda activate和已有环境完全不受影响 - 下次重装同版本包时,conda 会重新下载,不走本地缓存
- 适合刚装完一堆包、想快速腾出 1–2 GB 且不想冒风险的场景
conda clean --packages 才真正释放大块空间
pkgs/ 下真正吃硬盘的是解压后的包目录(比如 numpy-1.26.4-py310h0a8a7f9_0/),每个动辄 100–500 MB。conda 默认保留所有历史版本,哪怕你只用当前环境里的一个 numpy 版本,其他版本照留不误。
这条命令删掉所有“没被任何现存环境引用”的解压包:
conda clean --packages
- 会扫描
environments.txt和每个环境的conda-meta/history,只留还在用的包 - PyTorch + CUDA 组合试过 3 个版本?那至少能清掉 10–15 GB
- 执行前建议先
conda env list确认哪些环境是真要保留的,删错环境再恢复就麻烦了
conda clean -a 别乱用,它删 tarballs + packages + index cache
conda clean -a 看似“一键全清”,实际是三合一操作:等价于同时跑 --tarballs、--packages 和 --index-cache。问题在于:
-
--index-cache清的是 channel 元数据缓存,删完首次conda search或conda install会明显变慢(要重新拉索引) - 如果网络不稳定或镜像源临时不可用,可能卡在索引重建上,误以为命令失败
- Windows 用户注意:
pkgs/目录若被某个正在运行的 Python 进程占用(比如 Jupyter kernel 没关),clean -a可能报错并中断清理
更稳妥的做法是分两步:先 conda clean --packages,确认环境正常后再单独跑 conda clean --index-cache(非必须)。
pip cache purge 别漏掉,它和 conda 缓存互不干扰
conda 管 pkgs/,pip 管自己的缓存,默认路径是:
- Windows:
C:\Users\{用户名}\AppData\Local\pip\Cache - macOS/Linux:
~/.cache/pip
这个目录里存的是 pip 下载的 .whl 和 .tar.gz,哪怕你用 conda 创建环境,只要在里面跑过 pip install,缓存就会长出来。常见症状是:pip install 明明没下新包,却卡在 “Collecting…” 几十秒——就是在读本地缓存。
清它不用删文件夹,直接跑:
pip cache purge
或者手动删整个 Cache 目录也行,pip 下次会自动重建。注意:conda 虚拟环境里的 pip,缓存路径和系统 pip 是同一个,不存在“每个环境独立缓存”这回事。
真正容易被忽略的是:conda 环境里执行 pip install 后,缓存留在用户级目录,不是环境内部;而 conda clean 完全不碰它。磁盘告急时,这两块得一起扫。











