Como fazer o downgrade do python 3.7 para 3.6

88

Estou tentando instalar o tensorflow, mas ele precisa de uma instalação do Python 3.6 e só tenho o Python 3.7 instalado. Tentei alternar entre brew e pyenv, mas não funcionou.

Alguém sabe como resolver esse problema?

Igor Kvasha
fonte
4
Eu recomendo que você use o Anaconda . Em seguida, crie um novo ambiente para cada novo projeto e ative-o antes de usar. No seu caso, conda create -n myenv python=3.6esource activate myenv
Canh
1
Atualize o tensorflow. Tensorflow 1.14 e 1.15 são compatíveis com Python 3.7 (e anteriores) e tensorflow 2.2 são compatíveis com Python 3.8
Boris

Respostas:

34
$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5
$ pip install tensorflow
Jeereddy
fonte
Há um erro de digitação na última linha
Mad Physicist
1
Isso funciona muito bem, mas eu sugiro antes de pip install tensorflowcriar um virtualenv ou conda env, então ative-o e finalmente usepip install tensorflow
Diego Aguado
Você pode pular as duas primeiras linhas se já tinha esta versão python antes e a atualizou para uma versão superior (e não usou o $ brew cleanupcomando)
Mykola Zotko
3
O que é cerveja? Não posso usar o apt?
Jamie Hutber
@JamieHutber brew.sh é um gerenciador de pacotes feito originalmente para macOS, mas hoje em dia também oferece suporte ao Linux, consulte docs.brew.sh/Homebrew-on-Linux . Se você deve usar, aptpode tentar adicionar o deadsnakesPPA que empacota versões mais antigas do python: launchpad.net/~deadsnakes/+archive/ubuntu/ppa , mas só funciona nas versões do Ubuntu com suporte a longo prazo (LTS) , que são 14.04, 16.04, 18.04 e 20.04 enquanto escrevo este comentário em 2020.
Boris
28

Se você está trabalhando com o Anaconda, então

conda install python=3.5.0
# or maybe 
conda install python=2.7.8
# or whatever you want....

pode funcionar.

Vijaya
fonte
Isso funcionou e resolveu meu problema. Isso não apenas instalou a versão mais antiga do Python, mas também fez o downgrade da versão.
Stok
3
Alguma outra solução sem usar condapara Linux?
Dentrax
2
Eu entendo UnsatisfiableError:The following specifications were found to be in conflict: - python=3.5.0 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> readline=7 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> tk=8.6
MrMartin
11

crie um ambiente virtual, instale e mude para o python 3.6.5

$ conda create -n tensorflow python=3.7
$ conda activate tensorflow
$ conda install python=3.6.5
$ pip install tensorflow

ative o ambiente quando quiser usar o tensorflow

ersh
fonte
7

Baixe o python 3.6.0 de https://www.python.org/downloads/release/python-360/

Instale-o como um pacote normal.

Corre cd /Library/Frameworks/Python.framework/Version

Execute o lscomando e todas as versões instaladas do Python estarão visíveis aqui.

Corre sudo rm -rf 3.7

Verifique a versão agora python3 -Ve será 3.6 agora.

Sidharth Taneja
fonte
3

Crie um ambiente virtual Python usando conda e instale o tensorflow:

$ conda create -n [environment-name] python=3.6
# it may ask for installing python-3.6 if you don't have it already. Type "y" to proceed...
$ activate [environment-name]
$ pip install tensorflow

A partir de agora, você pode ativar o ambiente sempre que quiser usar o tensorflow.

Se você não tiver o gerenciador de pacotes conda, primeiro baixe-o aqui: https://www.anaconda.com/distribution

Seyed Hamed Shams
fonte
Olá @Seyed, tenho o mesmo problema, meu spyder padrão abre com 3.7, embora eu abra as ferramentas-> preferências para meu ambiente conda python 3.6.9, como alternar no spyder, o navegador anaconda não mostra o lançamento do spyder?
hanzgs
2

Uma maneira limpa, sem ter que desinstalar uma versão anterior ou reverter para software adicional como Anaconda ou docker, etc., é baixar o código-fonte do Python 3.6 e instalá-lo da seguinte maneira:

$ mkdir /home/<user>/python3.6
$ ./configure --prefix=/home/<user>/python3.6/
$ make altinstall

Para usá-lo, você:

  • adicione /home/<user>/python3.6/binao seu PATH(e libao LD_LIBRARY_PATH) e pronto. (Você também pode precisar adicionar ao seu caminho de inclusão etc., dependendo do que você está tentando alcançar exatamente - mas essa é a ideia, espero.);

  • ou, você cria um ambiente virtual semelhante a este: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6.

Nenhum sudo ou acesso root necessário. Sem bagunçar seu sistema.

não determinístico
fonte
Não se esqueça de baixar a versão mais recente primeiro (3.6.9): python.org/downloads/release/python-369
Rabindranath Andujar
1

Eu estava tendo problemas para instalar tensorflow com python 3.7 e segui estas instruções para configurar um ambiente virtual com python3.6 e fazê-lo funcionar

Download the Python3.6 tgz file from the official website (eg. Python-3.6.6.tgz)
Unpack it with tar -xvzf Python-3.6.6.tgz
cd Python-3.6.6
run ./configure
run make altinstall to install it (install vs altinstall explanation here 

configurar o ambiente virtual python3.6 para tensorflow

Se você estiver usando o jupyter notebook ou jupyter lab, isso pode ser útil para escolher o ambiente virtual certo

python -m venv projectname
source projectname/bin/activate
pip install ipykernel
ipython kernel install --user --name=projectname

Neste ponto, você pode iniciar o jupyter, criar um novo bloco de notas e selecionar o kernel que reside em seu ambiente.

ambiente virtual e notebooks jupyter

Espero que isto ajude

Mathew Paul
fonte
-1

Para aqueles que desejam adicionar várias versões do Python em seus sistemas: Eu adiciono facilmente vários intérpretes executando os seguintes comandos:

  • atualização apt sudo
  • sudo apt install software-propriedades-comuns
  • sudo add-apt-repository ppa: deadsnakes / ppa
  • sudo apt install python 3.xx
  • então, enquanto faz seu ambiente virtual, escolha o intérprete de sua escolha.
Abdul Rehman
fonte