Python 工具链
pip / Conda / uv 缓存与虚拟环境:Python 项目里的隐形占用
Python 生态为了加速安装会在多处缓存包和环境。时间一长,pip/Conda/uv 缓存与历史虚拟环境会悄悄吃掉大量 SSD。
更新于:
阅读时长: 7 分钟
为什么会悄悄变大
包下载、wheel 解包和环境构建结果都会被保留来换取后续速度。在多项目并行和频繁试验场景下,相同依赖常常在多个路径重复存在,而旧环境即使项目归档后也会继续占空间。
Free Mac Space 如何定位
Free Mac Space 会聚合扫描 ~/.cache/pip、~/Library/Caches/pip、~/miniconda3/pkgs、~/anaconda3/pkgs、~/.conda/pkgs、~/.cache/uv 与 ~/.local/share/uv 等目录,并按路径族展示,帮助你快速判断主要占用来自缓存还是环境目录。
Free Mac Space 如何帮助清理
你可以先按体积、路径和最近修改时间筛选,再清理陈旧缓存目录。所有可执行动作仍遵循回收站优先与根路径校验,只对允许路径生效。
安全边界
虚拟环境可能仍被定时任务、旧服务或 Notebook 使用。建议保留生产链路相关环境,分批清理历史遗留目录。
Free Mac Space 扫描路径
- ~/.cache/pip
- ~/Library/Caches/pip
- ~/miniconda3/pkgs
- ~/anaconda3/pkgs
- ~/.conda/pkgs
- ~/.cache/uv
- ~/.local/share/uv
- ~/.virtualenvs
建议的月度检查步骤
- 先按体积清理长期未使用的包缓存。
- 保留仍在运行的服务和 Notebook 对应环境。
- 清理后复扫,确认回收量并避免过度清理。
操作步骤(HowTo)
1. 识别 Python 工具链 的增长来源
包下载、wheel 解包和环境构建结果都会被保留来换取后续速度。在多项目并行和频繁试验场景下,相同依赖常常在多个路径重复存在,而旧环境即使项目归档后也会继续占空间。
2. 确认扫描覆盖路径
Free Mac Space 会聚合扫描 ~/.cache/pip、~/Library/Caches/pip、~/miniconda3/pkgs、~/anaconda3/pkgs、~/.conda/pkgs、~/.cache/uv 与 ~/.local/share/uv 等目录,并按路径族展示,帮助你快速判断主要占用来自缓存还是环境目录。 重点路径:~/.cache/pip、~/Library/Caches/pip、~/miniconda3/pkgs、~/anaconda3/pkgs、~/.conda/pkgs、~/.cache/uv、~/.local/share/uv、~/.virtualenvs。
3. 先看安全边界再执行动作
虚拟环境可能仍被定时任务、旧服务或 Notebook 使用。建议保留生产链路相关环境,分批清理历史遗留目录。
4. 按先审查后清理流程执行
你可以先按体积、路径和最近修改时间筛选,再清理陈旧缓存目录。所有可执行动作仍遵循回收站优先与根路径校验,只对允许路径生效。
5. 复核动作 1
先按体积清理长期未使用的包缓存。
6. 复核动作 2
保留仍在运行的服务和 Notebook 对应环境。
7. 复核动作 3
清理后复扫,确认回收量并避免过度清理。
常见问题
Python 工具链 这类占用通常来自哪里?
主要来源包括:pip wheel 缓存、Conda 包缓存、uv 缓存、虚拟环境目录。包下载、wheel 解包和环境构建结果都会被保留来换取后续速度。在多项目并行和频繁试验场景下,相同依赖常常在多个路径重复存在,而旧环境即使项目归档后也会继续占空间。
这篇文章建议重点查看哪些路径?
建议优先检查这些路径:~/.cache/pip、~/Library/Caches/pip、~/miniconda3/pkgs、~/anaconda3/pkgs、~/.conda/pkgs、~/.cache/uv、~/.local/share/uv、~/.virtualenvs。Free Mac Space 会聚合扫描 ~/.cache/pip、~/Library/Caches/pip、~/miniconda3/pkgs、~/anaconda3/pkgs、~/.conda/pkgs、~/.cache/uv 与 ~/.local/share/uv 等目录,并按路径族展示,帮助你快速判断主要占用来自缓存还是环境目录。
如何在不增加误删风险的前提下处理?
你可以先按体积、路径和最近修改时间筛选,再清理陈旧缓存目录。所有可执行动作仍遵循回收站优先与根路径校验,只对允许路径生效。 虚拟环境可能仍被定时任务、旧服务或 Notebook 使用。建议保留生产链路相关环境,分批清理历史遗留目录。
月度复查时应该怎么执行?
先按体积清理长期未使用的包缓存。;保留仍在运行的服务和 Notebook 对应环境。;清理后复扫,确认回收量并避免过度清理。