Como posso instalar uma versão anterior do Python 3 no macOS usando o brew?
Com o comando brew install python
, obtive a versão mais recente do Python 3 (atualmente v3.7.0), mas quero a última versão do Python 3.6 (atualmente 3.6.5).
Eu li sobre outro pacote pyenv
que pode ajudar a lidar com diferentes instalações de python, mas esta solução não é adequada para mim.
Respostas:
Resposta curta
Para fazer uma instalação limpa do Python 3.6.5, use:
Se você preferir recuperar uma versão instalada anteriormente, então:
Resposta longa
Existem duas fórmulas para instalar o Python com o Homebrew:
python@2
epython
.O primeiro é para o Python 2 e o segundo para o Python 3.
Nota: Você pode encontrar respostas desatualizadas na web, onde é mencionado
python3
como o nome da fórmula para instalar o Python versão 3. Agora é sópython
!Por padrão, com essas fórmulas, você pode instalar a versão mais recente da versão principal correspondente do Python. Portanto, você não pode instalar diretamente uma versão secundária como 3.6.
Solução
Com
brew
, você pode instalar um pacote usando o endereço da fórmula, por exemplo, em um repositório git.Ou especificamente para Python 3
O endereço que você deve especificar é o endereço da última confirmação da fórmula (python.rb) para a versão desejada. Você pode encontrar o identificador do commint consultando o histórico de homebrew-core / Formula / python.rb
https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
Python> 3.6.5
No link acima, você não encontrará uma fórmula para uma versão do Python acima da 3.6.5. Depois que os mantenedores desse repositório (oficial) lançaram o Python 3.7, eles enviaram apenas atualizações para a receita do Python 3.7.
Como explicado acima, no homebrew você tem apenas Python 2 (python @ 2) e Python 3 (python), não existe uma fórmula explícita para o Python 3.6 .
Embora essas pequenas atualizações sejam irrelevantes na maioria dos casos e na maioria dos usuários, procurarei se alguém fez uma fórmula explícita para a 3.6.
fonte
Error: python 3.7.0 is already installed To install 3.6.5_1, first run
brew unlink python`` ao usar a 'resposta curta'.Como uma atualização, ao fazer
Você pode encontrar
Para ignorá-lo, adicione o
--ignore-dependencies
argumento para instalar o brew.fonte
O que fiz foi instalar o python 3.7
então eu instalei o python 3.6.5 usando o link acima
Depois disso eu corri
brew link --overwrite python
. Agora eu tenho todos os pitães no sistema para criar os ambientes virtuais.Para criar o ambiente virtual Python 3.7.
Para criar ambiente virtual Python 3.6
fonte
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
isso é duas vezes porque você está recebendo3.7.3
duas vezes e perdendo3.6
python3.6
sob/usr/local/Cellar/python/3.6.5_1/bin
. Depois de criar um link, ele funciona como você diz. Esse sistema de autogerenciamento em python parece ser um fractal rube goldberg de um milhão de programadores codificados pelo movimento browniano.Eu tentei todas as respostas acima para instalar o Python 3.4.4. A instalação do python funcionou, mas o PIP não seria instalado e nada que eu pudesse fazer para fazê-lo funcionar. Eu estava usando o Mac OSX Mojave, que causa alguns problemas com zlib, openssl.
O que não fazer:
Solução:
ps: você não precisa desinstalar sua outra versão do Python no seu sistema.
Editar:
Encontrei uma solução muito, muito melhor, que funciona em 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]
fonte
Eu tentei de tudo, mas não consegui fazê-lo funcionar. Finalmente eu usei
pyenv
e funcionou diretamente como um encanto.Então, tendo
homebrew
instalado, o juste faz:para gerenciar virtualenvs:
Veja pyenv e pyenv-virtualenv para mais informações.
EDIT (2019/03/19)
Eu achei o uso do pyenv-installer mais fácil do que o homebrew para instalar o pyenv e o pyenv-virtualenv direclty:
Para gerenciar a versão do python, globalmente:
ou localmente em um determinado diretório:
fonte
virtualenv
abordagem.pyenv
permite gerenciar versões python sem a necessidade de usar um venvCaso alguém enfrente problemas de pip como abaixo
A causa principal é o openssl 1.1, que não suporta mais o python 3.6. Então você precisa instalar a versão antiga openssl 1.0
aqui está a solução:
fonte
Para resolver isso
homebrew
, você pode temporariamente voltar atráshomebrew-core
e definir aHOMEBREW_NO_AUTO_UPDATE
variável para mantê-la no lugar:Não recomendo a atualização permanente do homebrew-core, pois você perderá os patches de segurança, mas é útil para fins de teste.
Você também pode extrair versões antigas de fórmulas de homebrew para seu próprio toque (tap_owner / tap_name) usando o
brew extract
comando:fonte
A maneira mais fácil para mim foi instalar o Anaconda: https://docs.anaconda.com/anaconda/install/
Lá, eu posso criar quantos ambientes quiser, com diferentes versões do Python, e alternar entre eles com um clique do mouse. Não poderia ser mais fácil.
Para instalar versões diferentes do Python, siga estas instruções https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html
Um novo ambiente de desenvolvimento com uma versão diferente do Python foi concluído em 2 minutos. E no futuro eu posso alternar facilmente.
fonte