Python's disk footprint
Python junk comes in three layers: package manager
caches (pip/uv/conda), per-project virtualenvs, and whole interpreter
versions from pyenv. With PyTorch in a few venvs – several GB each –
it outgrows most other ecosystems fast.
Caches – always safe
pip cache purge # ~/Library/Caches/pip
uv cache clean # uv's global cache
conda clean --all # package archives + index cache
Forgotten virtualenvs
find ~ \( -name .venv -o -name venv \) -type d -prune -exec du -sh {} + 2>/dev/null | sort -rh | head -20
A venv is disposable by design – rm -rf .venv and recreate
from requirements.txt/pyproject.toml when you
return to the project.
Conda environments
conda env list
conda env remove -n old-experiment
pyenv versions – ⚠️ not caches
pyenv versions
pyenv uninstall 3.9.4
⚠️ Installed interpreter versions aren't regenerated automatically – remove only versions no project pins.
CacheCleaner scans pip/uv/conda caches, finds every virtualenv across your disk with its size, and lists pyenv versions and conda environments with ⚠️ marks – so cleaning Python junk is one informed pass, not archaeology.
Get CacheCleaner for Mac