Jak obniżyć wersję Pythona z 3.7 do 3.6

88

Próbuję zainstalować tensorflow, ale wymaga on instalacji Pythona 3.6 i mam tylko Python 3.7. Próbowałem przełączyć się za pomocą brew i pyenv, ale to nie działa.

Czy ktoś zna sposób na rozwiązanie tego problemu?

Igor Kvasha
źródło
4
Polecam użycie Anacondy . Następnie utwórz nowe środowisko dla każdego nowego projektu i aktywuj je przed użyciem. W twoim przypadku conda create -n myenv python=3.6isource activate myenv
Canh
1
Uaktualnij tensorflow. Tensorflow 1.14 i 1.15 obsługuje Python 3.7 (i wcześniejsze), a tensorflow 2.2 obsługuje Python 3.8
Boris

Odpowiedzi:

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
źródło
W ostatnim wierszu jest literówka
Mad Physicist,
1
To działa świetnie, ale proponuję przed pip install tensorflowutworzeniem virtualenv lub conda env, a następnie aktywowania go i na koniec użyciapip install tensorflow
Diego Aguado
Można pominąć pierwsze dwie linie gdybyś miał tę wersję Pythona przed i uaktualnieniu go do wyższej wersji (i nie używane $ brew cleanuppolecenia)
Mykoła Zotko
3
Co to jest napar? Nie mogę użyć apt?
Jamie Hutber
@JamieHutber brew.sh to menedżer pakietów pierwotnie stworzony dla macOS, ale obecnie obsługuje również Linuksa, patrz docs.brew.sh/Homebrew-on-Linux . Jeśli musisz użyć apt, możesz spróbować dodać deadsnakesPPA, który pakuje starsze wersje Pythona: launchpad.net/~deadsnakes/+archive/ubuntu/ppa , ale działa tylko w wersjach Ubuntu z obsługą długoterminową (LTS) , które są 14.04, 16.04, 18.04 i 20.04, kiedy piszę ten komentarz w 2020 r.
Boris
28

Jeśli pracujesz z Anacondą, to

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

może działać.

Vijaya
źródło
To zadziałało i rozwiązało mój problem. To nie tylko spowodowało zainstalowanie starszej wersji Pythona, ale także obniżenie wersji.
uruchom
3
Jakieś inne rozwiązanie bez korzystania condaz systemu Linux?
Dentrax
2
Dostaję 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

utwórz środowisko wirtualne, zainstaluj, a następnie przejdź do Pythona 3.6.5

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

aktywuj środowisko, gdy chcesz korzystać z tensorflow

ersh
źródło
7

Pobierz Python 3.6.0 z https://www.python.org/downloads/release/python-360/

Zainstaluj go jako normalny pakiet.

Biegać cd /Library/Frameworks/Python.framework/Version

Uruchom lspolecenie, a wszystkie zainstalowane wersje Pythona będą tutaj widoczne.

Biegać sudo rm -rf 3.7

Sprawdź wersję teraz, python3 -Va teraz będzie to 3.6.

Sidharth Taneja
źródło
3

Utwórz środowisko wirtualne Pythona za pomocą conda, a następnie zainstaluj 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

Od teraz możesz aktywować środowisko w dowolnym momencie, gdy chcesz korzystać z tensorflow.

Jeśli nie masz menedżera pakietów Conda, najpierw pobierz go stąd: https://www.anaconda.com/distribution

Seyed Hamed Shams
źródło
Cześć @Seyed, mam ten sam problem, mój domyślny spyder otwiera się z 3.7, chociaż otwieram narzędzia-> preferencje do mojego środowiska Conda Python 3.6.9, jak przełączyć się w Spyder, nawigator Anaconda nie pokazuje uruchomienia dla Spydera?
hanzgs
2

Czystym sposobem bez konieczności odinstalowywania poprzedniej wersji lub powrotu do dodatkowego oprogramowania, takiego jak Anaconda lub docker itp., Jest pobranie kodu źródłowego Pythona 3.6 i zainstalowanie go w następujący sposób:

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

Aby z niego skorzystać, możesz:

  • dodaj /home/<user>/python3.6/bindo swojego PATH(i libdo LD_LIBRARY_PATH) i skończ z tym. (Być może będziesz musiał dodać do swojej ścieżki dołączania itp., W zależności od tego, co dokładnie próbujesz osiągnąć - ale mam nadzieję, że masz pomysł);

  • lub można utworzyć wirtualnego środowiska podobnego do tego: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6.

Nie jest wymagany dostęp do sudo ani roota. Żadnego zepsucia systemu.

niedeterministyczny
źródło
Nie zapomnij najpierw pobrać najnowszej wersji (3.6.9): python.org/downloads/release/python-369
Rabindranath Andujar
1

Miałem problem z instalacją tensorflow w Pythonie 3.7 i postępowałem zgodnie z tymi instrukcjami, aby skonfigurować środowisko wirtualne w Pythonie 3.6 i uruchomić je

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 

konfigurowanie wirtualnego środowiska Python3.6 dla tensorflow

Jeśli używasz notebooka jupyter lub laboratorium jupyter, może to być pomocne przy wyborze odpowiedniego środowiska wirtualnego

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

W tym momencie możesz uruchomić jupyter, utworzyć nowy notatnik i wybrać jądro, które żyje w Twoim środowisku.

środowisko wirtualne i notebooki jupyter

Mam nadzieję że to pomoże

Mathew Paul
źródło
-1

Dla tych, którzy chcą dodać wiele wersji Pythona w swoim systemie: z łatwością dodaję wielu interpreterów, uruchamiając następujące polecenia:

  • sudo apt update
  • sudo apt install Software-properties-common
  • sudo add-apt-repository ppa: deadsnakes / ppa
  • sudo apt install python 3.xx
  • następnie podczas tworzenia wirtualnego środowiska wybierz wybranego przez siebie tłumacza.
Abdul Rehman
źródło