¿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 sobre otro paquete pyenv
que puede ayudar a manejar diferentes instalaciones de Python, pero esta solución no es adecuada para mí.
Respuestas:
Respuesta corta
Para realizar una instalación limpia de Python 3.6.5 use:
Si prefiere recuperar una versión instalada previamente, entonces:
Respuesta larga
Hay dos fórmulas para instalar Python con Homebrew:
python@2
ypython
.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 justopython
!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.O específicamente para Python 3
La 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 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 de arriba no encontrarás una fórmula para una versión de Python anterior a 3.6.5. Después de que los encargados del 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 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.
fuente
Error: python 3.7.0 is already installed To install 3.6.5_1, first run
brew unlink python '' cuando uso la 'respuesta corta'.Como una actualización, al hacer
Puede encontrar
Para evitarlo, agregue el
--ignore-dependencies
argumento para preparar la instalación.fuente
Lo primero que hice fue instalar Python 3.7
luego instalé python 3.6.5 usando el enlace de arriba
Después de eso corrí
brew link --overwrite python
. Ahora tengo todas las pitones en el sistema para crear los entornos virtuales.Para crear el entorno virtual Python 3.7.
Para crear un entorno virtual Python 3.6
fuente
python -V && python3.7 -V && python3 -V && python3.6 -V
Python 2.7.15 Python 3.7.3 Python 3.7.3 zsh: command not found: python3.6
python3 -V
dos veces, por eso te pierdes3.7.3
dos veces y te pierdes3.6
python3.6
debajo/usr/local/Cellar/python/3.6.5_1/bin
. Una vez que hice un enlace, funciona como tú dices. Este sistema de autogestión de Python parece ser un fractal rube goldberg de un millón de programadores que codifican por movimiento browniano.Intenté todas las respuestas anteriores para instalar Python 3.4.4. La instalación de Python funcionó, pero PIP no se instaló y no pude hacer nada para que funcione. Estaba usando Mac OSX Mojave, que causa algunos problemas con zlib, openssl.
Qué no hacer:
Solución:
ps: no tienes que desinstalar tu otra versión de Python en tu sistema.
Editar:
Encontré una solución mucho mejor que funciona en MacOSX, Windows, Linux, etc.
conda init
conda create -n [NameOfYour VirtualEnvironment] python=3.4.4
conda info --envs
conda activate [The name of your virtual environment that was shown with the command at step 5]
fuente
He intentado todo pero no pude hacerlo funcionar. Finalmente lo he usado
pyenv
y funcionó directamente como un encanto.Entonces, una vez
homebrew
instalado, juste do:para gestionar virtualenvs:
Ver pyenv y pyenv-virtualenv para más información.
EDITAR (19/03/2019)
He encontrado que usar pyenv-installer es más fácil que homebrew para instalar pyenv y pyenv-virtualenv direclty:
Para administrar la versión de Python, ya sea globalmente:
o localmente en un directorio dado:
fuente
virtualenv
enfoque.pyenv
le permite administrar versiones de python sin la necesidad de usar un venvEn caso de que alguien se enfrente al problema de pip como a continuación
La causa raíz es openssl 1.1 ya no es compatible con Python 3.6. Por lo tanto, debe instalar la versión anterior openssl 1.0
Aquí está la solución:
fuente
Para resolver esto
homebrew
, puede retroceder temporalmentehomebrew-core
y establecer laHOMEBREW_NO_AUTO_UPDATE
variable para mantenerlo en su lugar:No recomiendo hacer retroceder permanentemente homebrew-core, ya que se perderán los parches de seguridad, pero es útil para fines de prueba.
También puede extraer versiones antiguas de fórmulas homebrew en su propio toque (tap_owner / tap_name) usando el
brew extract
comando:fuente
La forma más fácil para mí fue instalar Anaconda: https://docs.anaconda.com/anaconda/install/
Allí puedo crear tantos entornos con diferentes versiones de Python como quiera y cambiar entre ellos con un clic del mouse. No podría ser más fácil.
Para instalar diferentes versiones de Python solo siga estas instrucciones https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html
Se realizó un nuevo entorno de desarrollo con una versión diferente de Python en 2 minutos. Y en el futuro puedo cambiar fácilmente de un lado a otro.
fuente