actualización de la línea de comandos de python3

Tengo Python 2.7 y 3.5.1 instalados en mi Mac (El Capitan). Dejé la versión 2.7 según esta recomendación .

Ahora me gustaría actualizar la versión 3.5.1 a la última pero desde la línea de comandos. ¿Hay alguna manera de hacerlo (preferiblemente desde Python mismo)?

La publicación SO que vinculó tiene varias respuestas. ¿Cómo instalaste 3.5.1?

Respuestas (3)

Puede cambiar fácilmente las versiones de Python usando pyenv.

Por ejemplo (usando Homebrew ):

$ brew update
$ brew install pyenv
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

$ exec $SHELL

$ pyenv install 2.7.12
$ pyenv install 3.5.2
$ pyenv global 2.7.12 3.5.2

$ python -V
Python 2.7.12

$ python2 -V
Python 2.7.12

$ python2.7 -V
Python 2.7.12

$ python3 -V
Python 3.5.2

$ python3.5 -V
Python 3.5.2

Usaría homebrew para que pueda actualizar o instalar usando un comando de una línea:

brew install python3 && brew upgrade python3

Desafortunadamente, no hay otra forma desde la línea de comandos que no sea instalar Homebrew , un administrador de paquetes no oficial para macOS y luego escribir brew install python3.

Este método plantea algunos problemas. Al instalar Python a través de Homebrew, no elimina ninguna versión anterior de Python (por razones de compatibilidad). Esto significa que las versiones antiguas podrían estar en su disco duro, ocupando espacio que podría usarse para otra cosa. Otro posible problema con Homebrew es que necesita que se instale Xcode para que pueda compilar e instalar Python en el dispositivo (y la versión actual de Xcode ocupa más de 10 gigas de espacio HD, sin tener en cuenta el espacio para almacenar la fuente código).

La forma preferida y oficial de instalar Python es a través de su .pkginstalador disponible en su sitio web, pero esto tampoco elimina las instalaciones antiguas de Python3 (nuevamente, por las mismas razones).

Entonces, todo se reduce a cómo desea instalar Python. Hay muchas formas diferentes, y solo enumeré las que parecen más relevantes para su situación.