Unable to Run Python 3 After Homebrew Installation
I think I detected what the problem is.
I guess that, at a certain moment, you had installed python from the official site instead of via Homebrew.
In my case, I installed it via the official website Python 3.6.4
. A few months later, I wanted to upgrade it and noticed that it was very complex. So, I decided to move to Homebrew. Open a terminal window and let's try to fix this:
First, let's uninstall previous Python versions:
sudo rm -rf /Library/Frameworks/Python.framework sudo rm -rf /usr/local/bin/python3
Then, remove the previous frameworks from the
$PATH
variable:nano ~/.bash_profile
You will see something like that:
# Setting PATH for Python 2.7
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH`
This is the problem: These paths don't exist. Comment the $PATH editions
(or erase them):
# Setting PATH for Python 2.7
# The original version is saved in .bash_profile.pysave
# PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
# export PATH
# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
# PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
# export PATH
Restart the computer and install via Homebrew Python 2 and 3:
brew update brew install python brew install python3
This worked for me. Now, if type python3 --version
I get Python 3.7.0
, and everything works fine :)
I had the same issue. I learned how to fix it for good:
- Open "Applications" in Mac Finder and drag Python to the trash bin.
- Empty the trash bin
If you have an error as above, then an official Python installation has been performed (as others have mentioned) via e.g. Python.org. This creates some kind of alias for the python
or python3
commands outside a Bash alias. So while the command where python3
may point to /usr/local/bin/python3
, python3
will still try to call /Library/Frameworks/Python.framework/Versions/3.5/bin/python3
.
Note:
- the MacOS system Python is
/usr/bin/python
- Homebrew Python(s) will be located in
/usr/local/bin/
- Pythons installed as an Apple application live in
/Library/Frameworks/Python.framework/