No se puede actualizar a python 3.6 desde python 2.7

Estoy tratando de eliminar Python 2.7 y reemplazarlo con Python 3.6. Lo principal que quiero hacer es escribir "python" y mi terminal usa python 3.6, pero por alguna razón tengo restricciones para actualizar python.

Instalé python 3 con:

brew install python3

A continuación se muestran los comandos que estoy ejecutando. ¿Podría alguien por favor ayudarme?

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# 

Respuestas (1)

Ya no necesita ejecutar brew install python3para instalar Python 3.x, ya que la fórmula pythonahora tiene como valor predeterminado Python 3.x. Simplemente ejecuta:

brew install python

para instalar Python 3.x.

El binario de Python instalado en Homebrew todavía se nombra python3, por lo que la ejecución pythonse realizará de forma predeterminada en Apple Python, que sigue siendo Python 2.x. Para evitarlo, alias pythonpara python3ejecutar:

alias python="python3"

y debería hacer el truco. Es posible que desee eliminar python3la fórmula instalada de Homebrew ejecutando:

brew uninstall python3

¿Por qué no simplemente instalar la última versión (3.6.5) de python.org/downloads/mac-osx ?
@Milliways Está perfectamente bien para descargar e instalar desde el sitio web oficial. Sin embargo, OP se está instalando a través de Homebrew, por lo tanto, la respuesta está escrita para su escenario específico.