How to uninstall Python on Mac completely
How you uninstall Python on a Mac depends on where it came from: the installer from python.org, Homebrew or pyenv. A Mac can have several at once, so find them first and remove only the copy you no longer need. Your scripts and projects stay where they are.

- Open MacWashing and choose Uninstaller in the sidebar.
- Click Show Apps and check the app in the list.
- Click Remove and confirm. Files that may be yours are listed as Possible and stay unchecked.
Free trial · macOS 14 or later
Which Python do you have?
Open Terminal and run this command. It lists every python3 Terminal can find, the one that runs first at the top:
which -a python3/Library/Frameworks/Python.framework/…or/usr/local/bin/python3linked there: the installer from python.org./opt/homebrew/bin/python3(Apple silicon) or/usr/local/bin/python3from/usr/local/Cellar: Homebrew.~/.pyenv/shims/python3: pyenv.~/miniconda3/…or~/anaconda3/…: conda. See how to uninstall Anaconda on Mac./usr/bin/python3: Apple’s own, part of the Command Line Tools. Leave it: macOS protects it and some tools need it.
To see where a link really leads, run:
ls -l $(which python3)Uninstall Python installed with Homebrew
Homebrew names Python by version, for example [email protected]. List the ones you have, see what still needs a version, then remove it:
brew list --formula | grep python
brew uses --installed [email protected]
brew uninstall [email protected]If the second command prints other formulae, they depend on that Python, and the third refuses with Refusing to uninstall … because it is required by …. Remove those formulae first, or keep that Python. Packages you installed with pip into Homebrew’s Python go with it.
Uninstall Python from python.org
The python.org installer puts Python in three places: a folder in Applications (Python 3.15 with IDLE and Python Launcher), the framework /Library/Frameworks/Python.framework and links in /usr/local/bin. Python’s documentation says to remove these three things. The commands below delete only version 3.15. Change the number for yours.
sudo rm -rf "/Applications/Python 3.15"
sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.15 /Library/Frameworks/PythonT.framework/Versions/3.15
ls -l /usr/local/bin | grep "framework/Versions/3.15"The last command lists the links that now point nowhere, such as python3, pip3, idle3, python3.15 and python3.15t. This command deletes all of them at once, and only them:
cd /usr/local/bin && ls -l | grep "framework/Versions/3.15" | awk '{print $9}' | sudo xargs rmPythonT.framework is the free-threaded build the installer adds since 3.15. If 3.15 was your only Python from python.org, delete the empty /Library/Frameworks/Python.framework and /Library/Frameworks/PythonT.framework folders as well. To clear the installer’s records too, list them, then forget every name on the list:
pkgutil --pkgs | grep org.python
pkgutil --pkgs | grep org.python | sudo xargs -n 1 pkgutil --forgetThe installer may have added a # Setting PATH for Python 3.15 block to ~/.zprofile. Open it in TextEdit: open -e ~/.zprofile Delete that block and save. Without it, Terminal stops looking for the removed Python.
Uninstall Python versions installed with pyenv
The first command lists them. Remove one version, or pyenv with all its versions:
pyenv versions
pyenv uninstall 3.12.7To remove pyenv itself, uninstall it first (if Homebrew installed it):
brew uninstall pyenvDelete the pyenv lines from ~/.zshrc, then delete its folder. That deletes every Python version pyenv installed and the virtual environments made with pyenv-virtualenv:
rm -rf ~/.pyenvCheck that Python is gone
Open a new Terminal window and run the check again:
which -a python3Only the copies you kept should remain, for example Apple’s /usr/bin/python3.
Virtual environments (.venv folders) made with the removed Python stop working: create them again with the Python you kept. To install a fresh one, see how to install Python on Mac.
With MacWashing, it’s one click

If Python came from Homebrew, the Uninstaller in MacWashing lists it under its formula name, for example [email protected] marked Homebrew, and removes it with brew. If other formulae still need that version, it names what will stop working before you remove it. Python from python.org it doesn’t remove: use the steps above.
Free trial · macOS 14 or later
Questions and answers
Will MacWashing delete my own files when it removes an app?
No. The Uninstaller checks only what belongs to the app: its settings, caches, logs and background items. Folders that may hold your own files are listed as Possible and stay unchecked until you check them yourself, and apps go to the Trash by default, so you can put them back.
What if the app is still running?
MacWashing waits for it to quit, or quits it at your request, and only then removes its files.
Is it free to uninstall apps with MacWashing?
Yes, within the free trial: System Junk and the Uninstaller free up to 25 GB in total, with no account or card needed.
How do I uninstall Python on Mac completely?
Find every copy: which -a python3 Then remove each one the way it was installed: Homebrew’s with brew, python.org’s as three folders, pyenv’s with pyenv. Keep Apple’s /usr/bin/python3.
Can I delete the Python that comes with macOS?
No. /usr/bin/python3 belongs to the Command Line Tools, macOS protects it, and Python’s documentation says never to modify or delete it.
Will my projects survive?
Yes, your .py files and project folders stay. Only virtual environments made with the removed Python need to be created again.