¿Cómo puedo instalar una versión anterior de Python 3 en macOS usando 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í.
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.rbSi 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 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 desactualizadas en la web donde se menciona python3 como el nombre de la fórmula para instalar la versión 3 de Python. ¡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 secundaria como 3.6.
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.rbO específicamente para Python 3
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/COMMIT_IDENTIFIER/Formula/python.rbLa dirección que debe especificar es la dirección de la última confirmación de la fórmula (python.rb) para la versión deseada. Puede encontrar el identificador de confirmación mirando el historial de homebrew-core/Formula/python.rb
https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
En el enlace de arriba no encontrará una fórmula para una versión de Python superior a la 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 tiene 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.
He probado de todo pero no he podido hacerlo funcionar. Finalmente he usado pyenv y funcionó directamente a las mil maravillas.
Entonces, teniendo homebrew instalado, solo haz lo siguiente:
brew install pyenv pyenv install 3.6.5para administrar entornos virtuales:
brew install pyenv-virtualenv pyenv virtualenv 3.6.5 env_nameConsulte pyenv y pyenv-virtualenv para obtener más información.
Descubrí que usar pyenv-installer es más fácil que homebrew para instalar pyenv y pyenv-virtualenv directamente:
curl https://pyenv.run | bashPara administrar la versión de Python, ya sea globalmente:
pyenv global 3.6.5o localmente en un directorio dado:
pyenv local 3.6.5Como 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.rbUsted puede encontrar
Error: python contains a recursive dependency on itself: python depends on sphinx-doc sphinx-doc depends on python Para omitirlo, agregue el argumento --ignore-dependencies para preparar la instalación.
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