pythonpython-3.xmacosterminal

Completely uninstall Python 3 on Mac


I installed Python 3 on Mac and installed some packages as well. But then I see AWS lamda does not support Python 3 so I decided to downgrade. I removed Python3 folder in Applications and cleared the trash. But still I see a folder named 3 in /Library/Frameworks/Python.framework/Versions which is causing problems, such as this:

  $ python3 -m pip install virtualenv
 Requirement already satisfied: virtualenv in      /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (20.14.1)
 Requirement already satisfied: platformdirs<3,>=2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from virtualenv) (2.5.2) 

So my question is how do I completely uninstall python 3 from my Mac?


Solution

  • Removing the app does not completely uninstall that version of Python. You will need to remove the framework directories and their symbolic links.

    Deleting the frameworks

    sudo rm -rf /Library/Frameworks/Python.framework/Versions/[version number]
    

    replacing [version number] with 3.10 in your case.

    Removing symbolic links

    To list the broken symbolic links.

    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/[version number]'
    

    And to remove these links:

    cd /usr/local/bin
    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/[version number]' | awk '{print $9}' | tr -d @ | xargs rm
    

    As always, please be wary of copying these commands. Please make sure the directories in the inputs are actual working directories before you execute anything.

    The general idea in the end is to remove the folders and symlinks, and you're good to go.

    Here is another response addressing this process: How to uninstall Python 2.7 on a Mac OS X 10.6.4?