python3 mac instalar descargar como python macos homebrew

descargar - ¿Cómo puedo instalar una versión anterior de Python 3 en macOS utilizando homebrew?



macos python3 (5)

¿Cómo puedo instalar una versión anterior de Python 3 en macOS utilizando brew?

Con el comando brew install python obtuve la última versión de Python 3 (actualmente v3.7.0), pero quiero la última versión de Python 3.6 (actualmente 3.6.5).

He leído acerca de otro paquete pyenv que puede ayudar a manejar diferentes instalaciones de python, pero esta solución no es adecuada para mí.


Respuesta corta

Para hacer una instalación limpia de Python 3.6.5 use:

brew unlink python # ONLY if you have installed (with brew) another version of python 3 brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Si prefiere recuperar una versión previamente instalada, entonces:

brew info python # To see what you have previously installed brew switch python 3.x.x_x # Ex. 3.6.5_1

Respuesta larga

Hay dos fórmulas para instalar Python con Homebrew: python@2 y python .
El primero es para Python 2 y el segundo para Python 3.

Nota: puede encontrar respuestas obsoletas en la web donde se menciona python3 como el nombre de la fórmula para instalar Python versión 3. ¡Ahora es solo python !

De forma predeterminada, con estas fórmulas puede instalar la última versión de la versión principal correspondiente de Python. Por lo tanto, no puede instalar directamente una versión menor como 3.6.

Solución

Con brew , puede instalar un paquete utilizando la dirección de la fórmula, por ejemplo, en un repositorio de git.

brew install https://the/address/to/the/formula/FORMULA_NAME.rb

O específicamente para Python 3

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/COMMIT_IDENTIFIER/Formula/python.rb

La dirección que debe especificar es la dirección a la última confirmación de la fórmula (python.rb) para la versión deseada. Puede encontrar el identificador de commint mirando el historial de homebrew-core / Formula / python.rb

https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb

Python> 3.6.5

En el enlace anterior no encontrará una fórmula para una versión de Python superior a 3.6.5. Después de que los mantenedores de ese repositorio (oficial) lanzaron Python 3.7, solo envían actualizaciones a la receta de Python 3.7.

Como se explicó anteriormente, con Homebrew solo tienes Python 2 (python @ 2) y Python 3 (python), no hay una fórmula explícita para Python 3.6 .

Aunque esas actualizaciones menores son en su mayoría irrelevantes en la mayoría de los casos y para la mayoría de los usuarios, buscaré si alguien ha hecho una fórmula explícita para 3.6.


Como actualización, al hacer

brew unlink python # If you have installed (with brew) another version of python brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Usted puede encontrar

Error: python contains a recursive dependency on itself: python depends on sphinx-doc sphinx-doc depends on python

Para evitarlo, agregue el argumento --ignore-dependencies a brew install.

brew unlink python # If you have installed (with brew) another version of python brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb


Intenté todas las respuestas anteriores para instalar Python 3.4.4. La instalación de python funcionó, pero PIP no se instalaría y no pude hacer nada para que funcionara. Estaba usando Mac OSX Mojave, lo que causa algunos problemas con zlib, openssl.

Qué no hacer:

  • Intente evitar el uso de Homebrew para la versión anterior dada por la fórmula Python o Python3 .
  • No trates de compilar Python

Solución:

  1. Descargue el instalador de macOS de 64 bits o el instalador de macOS de 64 bits / 32 bits : https://www.python.org/downloads/release/python-365/
  2. En el paso anterior, se descargará Python 3.6.5 , si, por ejemplo, desea descargar Python 3.4.4 , reemplace en la url anterior python-365 por python-344
  3. Descargar haga clic en el archivo que descargó, se abrirá un instalador de GUI
  4. Si descargó python-365 , después de la instalación, para iniciar esta versión de python, escribirá en su terminal python365 , lo mismo para pip, será pip365

ps: no tienes que desinstalar la otra versión de Python en tu sistema.


Lo que hice fue primero instalé python 3.7.

brew install python3 brew unlink python

Luego instalé Python 3.6.5 usando el enlace anterior.

brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb --ignore-dependencies

Después de eso ejecuté brew link --overwrite python . Ahora tengo todos los pitones en el sistema para crear los entornos virtuales.

mian@tdowrick2~ $ python --version Python 2.7.10 mian@tdowrick2~ $ python3.7 --version Python 3.7.1 mian@tdowrick2~ $ python3.6 --version Python 3.6.5

Para crear Python 3.7 entorno virtual.

mian@tdowrick2~ $ virtualenv -p python3.7 env Already using interpreter /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 Using base prefix ''/Library/Frameworks/Python.framework/Versions/3.7'' New python executable in /Users/mian/env/bin/python3.7 Also creating executable in /Users/mian/env/bin/python Installing setuptools, pip, wheel... done. mian@tdowrick2~ $ source env/bin/activate (env) mian@tdowrick2~ $ python --version Python 3.7.1 (env) mian@tdowrick2~ $ deactivate

Para crear un entorno virtual Python 3.6.

mian@tdowrick2~ $ virtualenv -p python3.6 env Running virtualenv with interpreter /usr/local/bin/python3.6 Using base prefix ''/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6'' New python executable in /Users/mian/env/bin/python3.6 Not overwriting existing python script /Users/mian/env/bin/python (you must use /Users/mian/env/bin/python3.6) Installing setuptools, pip, wheel... done. mian@tdowrick2~ $ source env/bin/activate (env) mian@tdowrick2~ $ python --version Python 3.6.5 (env) mian@tdowrick2~ $


Para resolver esto con homebrew , puedes volver temporalmente a homebrew-core y configurar la variable HOMEBREW_NO_AUTO_UPDATE para mantenerla en su lugar:

cd `brew --repo homebrew/core` git checkout f2a764ef944b1080be64bd88dca9a1d80130c558 export HOMEBREW_NO_AUTO_UPDATE=1 brew install python

No recomiendo la retroactividad permanente de homebrew-core, ya que perderá los parches de seguridad, pero es útil para realizar pruebas.

También puedes extraer versiones antiguas de fórmulas caseras en tu propio tap (tap_owner / tap_name) usando el comando brew extract :

brew extract python tap_owner/tap_name --version=3.6.5