Skip to content

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.

6 min read

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 fromHow to tellHow to remove
HomebrewPath in /opt/homebrew or /usr/local/Cellarbrew uninstall python@3.12, after checking dependents (below)
python.org installer/Library/Frameworks/Python.framework and a Python 3.x folder in ApplicationsMove the version folder in Python.framework/Versions, the Python 3.x app, and its links in /usr/local/bin to the Trash
pyenvPath in ~/.pyenvpyenv uninstall 3.12.4
Anaconda or MinicondaPath in ~/anaconda3 or ~/miniconda3Its own uninstaller, then remove the folder
Apple/usr/bin/python3Cannot 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:

VersionNeeded by
python@3.12nothing, safe to remove
python@3.13openssh, ldns, watchman
python@3.14ollama, 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.

Read next