Unable to upgrade to python 3.6 from python 2.7
I'm trying to remove python 2.7 and replace it with python 3.6. The main thing I want to do is type "python" and my terminal use python 3.6, but for some reason I'm being restricted from upgrading python.
I installed python 3 with:
brew install python3
Below are the commands I'm running. Would some one please help me out?
Guys-MacBook-Pro:bin guy$ python --version
Python 2.7.10
Guys-MacBook-Pro:bin guy$ python3 --version
Python 3.6.5
Guys-MacBook-Pro:bin guy$ whereis python
/usr/bin/python
Guys-MacBook-Pro:bin guy$ whereis python3
Guys-MacBook-Pro:bin guy$ pwd
/usr/bin
Guys-MacBook-Pro:bin guy$ ls -l | grep python
-rwxr-xr-x 1 root wheel 66880 Mar 27 23:03 python
-rwxr-xr-x 4 root wheel 925 Oct 7 2017 python-config
lrwxr-xr-x 1 root wheel 75 Apr 2 15:56 python2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
lrwxr-xr-x 1 root wheel 82 Apr 2 15:56 python2.7-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
-rwxr-xr-x 1 root wheel 66880 Mar 27 23:03 pythonw
lrwxr-xr-x 1 root wheel 76 Apr 2 15:56 pythonw2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7
Guys-MacBook-Pro:bin guy$ ls -l /usr/local/bin|grep python
lrwxr-xr-x 1 guy admin 43 Apr 16 15:25 easy_install-3.6 -> ../Cellar/python/3.6.5/bin/easy_install-3.6
lrwxr-xr-x 1 guy admin 31 Apr 16 15:25 pip3 -> ../Cellar/python/3.6.5/bin/pip3
lrwxr-xr-x 1 guy admin 33 Apr 16 15:25 pip3.6 -> ../Cellar/python/3.6.5/bin/pip3.6
lrwxr-xr-x 1 root wheel 69 Apr 16 12:42 python3 -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3
lrwxr-xr-x 1 root wheel 76 Apr 16 12:42 python3-config -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3-config
lrwxr-xr-x 1 root wheel 71 Apr 16 12:42 python3.6 -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
lrwxr-xr-x 1 root wheel 78 Apr 16 12:42 python3.6-config -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6-config
lrwxr-xr-x 1 root wheel 72 Apr 16 12:42 python3.6m -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m
lrwxr-xr-x 1 root wheel 79 Apr 16 12:42 python3.6m-config -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config
lrwxr-xr-x 1 guy admin 33 Apr 16 15:25 wheel3 -> ../Cellar/python/3.6.5/bin/wheel3
Guys-MacBook-Pro:bin guy$ sudo ln -s /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 python
ln: python: Operation not permitted
Guys-MacBook-Pro:bin guy$ sudo su
sh-3.2# pwd
/usr/bin
sh-3.2# ln -s /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 python
ln: python: Operation not permitted
sh-3.2# exit
exit
Guys-MacBook-Pro:bin guy$ sudo su -
Guys-MacBook-Pro:~ root# cd /usr/bin
Guys-MacBook-Pro:bin root# ln -s /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 python
ln: python: Operation not permitted
Guys-MacBook-Pro:bin root#
You don't need to run brew install python3
to install Python 3.x anymore, as the formula python
now defaults to Python 3.x. Simply run:
brew install python
to install Python 3.x.
Homebrew installed Python binary is still named python3
, so running python
will default to Apple Python which is still Python 2.x. To work around it, alias python
to python3
by running:
alias python="python3"
and it should do the trick. You may wish to remove Homebrew installed python3
formula by running:
brew uninstall python3