How to uninstall Python on a Mac without breaking the tools that need it
Which Python came from where, which one you cannot remove, and how to see what depends on each before you delete it. Measured on a Mac with four.
How do I uninstall Python on a Mac?
First find out where each Python came from, because each source has its own way out. Run which -a python3 and ls /opt/homebrew/Cellar | grep python. Then remove each one the way it was installed:
| Came from | How to tell | How to remove |
|---|---|---|
| Homebrew | Path in /opt/homebrew or /usr/local/Cellar | brew uninstall python@3.12, after checking dependents (below) |
| python.org installer | /Library/Frameworks/Python.framework and a Python 3.x folder in Applications | Move the version folder in Python.framework/Versions, the Python 3.x app, and its links in /usr/local/bin to the Trash |
| pyenv | Path in ~/.pyenv | pyenv uninstall 3.12.4 |
| Anaconda or Miniconda | Path in ~/anaconda3 or ~/miniconda3 | Its own uninstaller, then remove the folder |
| Apple | /usr/bin/python3 | Cannot be removed, and does not need to be |
Which Python versions do I have?
Our Mac had four: Apple's Python 3.9.6 at /usr/bin/python3, which comes with the Command Line Tools, and Homebrew's 3.12, 3.13 and 3.14, at 76 MB, 79 MB and 87 MB. There was no python.org install, no pyenv and no Anaconda.
How do I check what depends on a Python before I remove it?
For a Homebrew Python, run brew uses --installed python@3.13. It lists every installed tool that needs that version, and Homebrew will refuse to uninstall it while they do. On our Mac:
| Version | Needed by |
|---|---|
| python@3.12 | nothing, safe to remove |
| python@3.13 | openssh, ldns, watchman |
| python@3.14 | ollama, pipx, gcloud-cli, mlx |
So the tidy answer on this Mac was to remove 3.12 and keep the other two. Forcing 3.13 out would have left openssh, ldns and watchman without a version they list as a requirement.
Can I uninstall the Python that comes with macOS?
No. /usr/bin/python3 belongs to Apple's Command Line Tools and sits in a protected part of the system. Leave it alone: other tools expect it, and it is small. If python3 runs it when you want another version, fix your PATH so the other version comes first.
What else does Python leave behind?
The pip cache in ~/Library/Caches/pip (23 MB here) and any virtual environments in your projects, which can be far larger than Python itself. See why every Python project keeps its own copy.
Removing Homebrew altogether? See uninstalling Homebrew, which takes every Homebrew Python with it.
Common questions
Can I delete Python from my Mac?
You can remove Pythons you installed, from Homebrew, python.org, pyenv or Anaconda. Apple's /usr/bin/python3 cannot be removed and does not need to be.
How do I uninstall Python 3 installed with Homebrew?
Check brew uses --installed python@3.x first. If nothing is listed, run brew uninstall python@3.x.
How do I see every Python on my Mac?
Run which -a python3 in Terminal, and ls /opt/homebrew/Cellar | grep python for Homebrew versions.