Cara menurunkan python dari 3.7 menjadi 3.6

100

Saya mencoba menginstal tensorflow tetapi membutuhkan instalasi Python 3.6 dan saya hanya menginstal Python 3.7. Saya mencoba beralih menggunakan brew dan pyenv tetapi tidak berhasil.

Adakah yang tahu cara untuk mengatasi masalah ini?

Igor Kvasha
sumber
4
Saya merekomendasikan Anda untuk menggunakan Anaconda . Kemudian buat lingkungan baru untuk setiap proyek baru dan aktifkan sebelum digunakan. Dalam kasus Anda, conda create -n myenv python=3.6dansource activate myenv
Canh
1
Tingkatkan tensorflow. Tensorflow 1.14 dan 1.15 mendukung Python 3.7 (dan sebelumnya) dan tensorflow 2.2 mendukung Python 3.8
Boris

Jawaban:

40
$ 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
sumber
2
Ini berfungsi dengan baik tetapi saya sarankan sebelum pip install tensorflowmembuat virtualenv atau conda env, kemudian mengaktifkannya dan terakhir menggunakanpip install tensorflow
Diego Aguado
Anda dapat melewati dua baris pertama jika Anda memiliki versi python ini sebelumnya dan telah meningkatkannya ke versi yang lebih tinggi (dan belum menggunakan $ brew cleanupperintah)
Mykola Zotko
3
Apa itu minuman? Tidak bisakah saya menggunakan apt?
Jamie Hutber
@JamieHutber brew.sh adalah manajer paket yang awalnya dibuat untuk macOS, tetapi sekarang ini mendukung Linux juga, lihat docs.brew.sh/Homebrew-on-Linux . Jika Anda harus menggunakan, aptAnda dapat mencoba menambahkan deadsnakesPPA yang mengemas versi python yang lebih lama: launchpad.net/~deadsnakes/+archive/ubuntu/ppa , tetapi hanya berfungsi pada versi Ubuntu Long Term Support (LTS) , yaitu 14.04, 16.04, 18.04 dan 20.04 saat saya menulis komentar ini pada tahun 2020.
Boris
Awas. Ini dapat mengacaukan segalanya dan tidak memperbaiki apa pun
Josh Wolff
32

Jika Anda bekerja dengan Anaconda, maka

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

mungkin berhasil.

Vijaya
sumber
Ini berhasil dan memecahkan masalah saya. Ini tidak hanya menginstal versi Python yang lebih lama tetapi juga menurunkan versi versinya.
stok
3
Ada solusi lain tanpa menggunakan condauntuk Linux?
Dentrax
2
Saya mendapatkan 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
13

buat lingkungan virtual, instal lalu alihkan ke python 3.6.5

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

aktifkan lingkungan saat Anda ingin menggunakan tensorflow

ersh
sumber
9

Unduh python 3.6.0 dari https://www.python.org/downloads/release/python-360/

Instal sebagai paket biasa.

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

Jalankan lsperintah dan semua versi Python yang diinstal akan terlihat di sini.

Lari sudo rm -rf 3.7

Periksa versinya sekarang python3 -Vdan akan menjadi 3,6 sekarang.

Sidharth Taneja
sumber
7

Buat lingkungan virtual python menggunakan conda, lalu instal 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

Mulai sekarang, Anda dapat mengaktifkan lingkungan kapan pun Anda ingin menggunakan tensorflow.

Jika Anda tidak memiliki pengelola paket conda, unduh dulu dari sini: https://www.anaconda.com/distribution

Seyed Hamed Shams
sumber
Hai @Seyed, Saya memiliki masalah yang sama, mata-mata default saya terbuka dengan 3.7, meskipun saya membuka alat-> preferensi ke lingkungan conda python 3.6.9 saya, bagaimana cara beralih di spyder, navigator anaconda tidak menampilkan peluncuran untuk spyder?
hanzgs
6

Berikut adalah ringkasan kanonik yang merangkum berbagai solusi untuk variasi sistem operasi yang dijalankan Python. Berikut ini adalah kemungkinan untuk Microsoft Windows , Linux , macOS dan Misc .

Seperti yang disebutkan, itu hanya kemungkinan - saya sama sekali tidak mengklaim memiliki daftar lengkap apa pun.


Microsoft Windows

Pilihan 1

Secara umum, disarankan untuk menggunakan lingkungan virtual (saya sangat menyarankan untuk melihat dokumentasi resmi Python ). Dengan pendekatan ini, Anda dapat dengan mudah menyiapkan versi Python khusus proyek (serta pustaka). Mudah dikelola dan yang terbaik: Ada banyak tutorial di internet tentang cara melakukan pendekatan ini:

1.) Buka command prompt ("cmd") dan enter pip install virtualenv.

2.) Instal versi Python yang Anda inginkan melalui https://www.python.org/downloads/release; Ingat: Jangan tambahkanPATH !

3.) Ketik di command prompt:, virtualenv \path\to\env -p \path\to\python_install.exesedangkan \path\to\envakan menjadi jalur di mana lingkungan virtual Anda akan berada dan \path\to\python_install.exetempat di mana versi Python yang baru (mungkin) terinstal berada.

4.) Selesai! Anda sekarang memiliki lingkungan virtual yang disiapkan! Sekarang, untuk mengaktifkan lingkungan virtual, jalankan file batch yang terletak di dalam file \path\to\env\Scripts\activate.bat. (lihat situs web ini atau panduan resmi Python )

pilihan 2

Opsi dasarnya adalah menghapus versi Python yang tidak diinginkan dan menginstal ulang versi yang disukai dari https://www.python.org/downloads/ . Untuk menghapus versi "lama" pergi ke Control Panel-> "Uninstall a program"-> Search for "Python" -> Right-click on the Python name-> Uninstall. Ingatlah bahwa Python biasanya memiliki variabel PATH yang disimpan, oleh karena itu Anda harus menghapusnya juga - Periksa tautan berikut untuk ini:

Sekarang periksa kembali apakah ada file yang tersisa tempat Python dulu disimpan. Biasanya, Anda dapat menemukan semua file Python di kedua C:\Program Files (x86)\Pythonxx, C:\Users\username\AppData\Local\Programs\Pythonxxatau C:\Pythonxxatau semua dari mereka. Anda mungkin telah menginstalnya di direktori lain - periksa di mana sebelumnya.

Sekarang setelah de-instal, instal ulang saja versi yang diinginkan dengan membuka halaman unduhan dan ikuti proses instalasi biasa. Saya tidak akan membahas detail tentang cara menginstal Python. . Terakhir, Anda dapat memeriksa versi mana yang saat ini diinstal dengan membuka command prompt dan mengetik python -V.

Pilihan 3

Pendekatan ini sangat mirip dengan yang kedua - pada dasarnya Anda mencopot pemasangan yang lama dan menggantinya dengan versi favorit Anda. Satu-satunya hal yang mengubahnya adalah bagian tentang cara menghapus instalasi distribusi Python yang tidak diinginkan: Cukup jalankan penginstal Python3 yang awalnya Anda gunakan untuk menginstal Python (biasanya disimpan di direktori Python Anda seperti yang disebutkan di atas; untuk bantuan lebih lanjut, lihat ini ). Di sana Anda mendapatkan opsi untuk repair or uninstall, melanjutkan dengan memilih uninstall, dan ikuti langkah-langkah yang disediakan melalui uninstaller.

Tidak peduli bagaimana Anda menghapus Python (ada banyak sumber daya tentang topik ini, misalnya pertanyaan Stack Overflow ini atau utas masalah pengguna dengan nama Vincent Tang yang diposting di situs Stack Exchange Super User, dll.), Cukup instal ulang yang diinginkan Versi Python dengan mengikuti langkah-langkah yang disebutkan di Option 2.

Pilihan 4

Opsi 4 berhubungan dengan Anaconda. Silakan merujuk ke situs ini tentang cara menginstal Anaconda di Windows. Step 9penting karena Anda tidak ingin menginstalnya sebagai Python default - Anda ingin menjalankan beberapa versi Python :

Pilih apakah akan mendaftarkan Anaconda sebagai Python default Anda. Kecuali jika Anda berencana menginstal dan menjalankan beberapa versi Anaconda atau beberapa versi Python, terima defaultnya dan biarkan kotak ini dicentang.

Ikuti tutorial resmi yang saya tautkan di atas.

Setelah selesai, Anda dapat membuat perintah berikut satu per satu di anaconda prompt: Untuk menimpa versi default python berdasarkan sistem, gunakan conda install python=3.6atau untuk membuat lingkungan virtual, lanjutkan dan gunakan conda create -n $PYTHON36_ENV_NAME python=3.6 anacondasedangkan $PYTHON36_ENV_NAMEnama kustom dapat Anda atur. Kredit di mana kredit jatuh tempo - pengguna @CermakM dari utas ini sangat memengaruhi cuplikan ini.

Dalam penelitian saya, saya menemukan banyak utas Stack Overflow yang berguna - Anda dapat memeriksanya jika Anda menempuh jalan yang sulit dengan Anaconda:

Pilihan 5

Berikut ini bukanlah penurunan dalam pengertian klasik - meskipun demi kelengkapan saya memutuskan untuk menyebutkan pendekatan ini juga. Di Windows Anda juga dapat menjalankan beberapa versi Python - utas terkenal di StackOverflow membahas pertanyaan ini, jadi saya dengan sopan merujuk Anda ke sana untuk tujuan membaca lebih lanjut.


Linux

Pilihan 1

Cukup analog untuk opsi ketiga untuk Windows Saya sangat menyarankan Anda menggunakan lingkungan virtual seperti Anaconda. Anaconda - atau conda pendek - juga tersedia di Linux. Periksa dokumentasi penginstalan resmi di sini . Sekali lagi utas ini sangat disarankan tentang cara menimpa versi Python, masing-masing cara secara khusus membuat lingkungan dengan versi Python yang Anda inginkan.

pilihan 2

Lingkungan virtual lain yang sangat disarankan adalah Pyenv. Pengguna @Sawan Vaidya menjelaskan dalam pertanyaan Stack Overflow ini tentang cara menaikkan atau menurunkan versi Python dengan bantuan Pyenv. Anda dapat menyetel versi Python secara global atau membuat lingkungan lokal - keduanya dijelaskan di utas yang disebutkan.

Pilihan 3

Pengguna lain, yaitu @Jeereddy , telah menyarankan untuk menggunakan sistem manajemen paket perangkat lunak Homebrew. Dia menjelaskan opsi ini secara menyeluruh dalam pertanyaan saat ini :

$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5

Pilihan 5

Tidak perlu menemukan kembali roda - utas ini diisi dengan banyak pendekatan lari yang indah seperti yang dilakukan oleh @Sidharth Taneja .

  1. Unduh versi Python yang Anda inginkan dari https://www.python.org/downloads/release dan instal sebagai normal package.
  2. Lari cd /Library/Frameworks/Python.framework/Version
  3. Jalankan lsuntuk mendaftar semua versi Python yang diinstal
  4. Jalankan sudo rm -rf 3.7, hapus Python versi 3.7 - dapat diulangi untuk versi apa pun yang ingin Anda hapus
  5. Periksa python3 -v, itu harus menampilkan versi yang awalnya ingin Anda instal

Pilihan 6

Sungguh tambang emas utas ini! Seperti yang dijelaskan @nondetermistic secara mendalam (tautan langsung ke posnya ):

Instal kode sumber Python seperti ini:

#Taken Python 3.6 as an example
$ mkdir /home/<user>/python3.6
$ ./configure --prefix=/home/<user>/python3.6/
$ make altinstall

Anda sekarang dapat untuk menambah versi download ( /home/<user>/python3.6/bin) ke PATHserta libuntuk LD_LIBRARY_PATHatau hanya menciptakan lingkungan virtual dengan: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6. Solusi yang sangat estetis dan sederhana untuk menjalankan beberapa versi Python di sistem Anda.


macOS

Pilihan 1

Menggunakan pyenvdengan Homebrew- kredit ke @Shayan dengan balasannya di sini :

1.) Menginstal pyenvdengan Homebrew:

brew update
brew install pyenv

2.) Mengkloning repositori GitHub untuk mendapatkan pyenvversi terbaru :

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv

3.) Mendefinisikan variabel lingkungan sebagai berikut

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

4.) Memulai kembali shell sehingga PATHperubahan berfungsi

exec "$SHELL"

5.) Memeriksa versi Python yang tersedia

pyenv install --list

6.) Menginstal versi Python yang diinginkan, misalnya 3.6

pyenv install 3.6

7.) Mengaturnya secara global ( Anda juga dapat melanjutkan dan hanya menggunakannya di lingkungan tertentu )

pyenv global 3.6

8.) Periksa versi Python yang digunakan sistem - versi yang Anda inginkan / diturunkan harus ditampilkan di sini.

python3 --version

pilihan 2

Mirip dengan pendekatan sebelumnya, Anda juga dapat mengunduh Anaconda di macOS. Untuk panduan instalasi klik di sini . Pemakaian ini hampir sama seperti yang saya sudah dijelaskan dalam Option 4satu Windowsbuku. Silakan lihat di atas.

Pilihan lain

Dalam hal ini, ini menjadi sangat berulang. Saya dengan hormat menyarankan Anda untuk memeriksa sumber daya berikut untuk membaca lebih lanjut:


Misc

Saat menulis posting ini saya memiliki masalah karena tidak tahu di mana harus menarik garis. Saat mencari sistem operasi yang saat ini mendukung Python, Anda mendapatkan daftar besar, termasuk yang saya sebutkan, yaitu Linux , Microsoft Windows dan macOS , meskipun jelas distribusi Linux yang berbeda diperlakukan dengan satu tangan, misalnya CentOS, Arch Linux atau Fedora harus layak mendapatkan spot juga - atau haruskah saya membuat opsi terpisah untuk Windows 10, 7, dll.?

Karena tingkat pengulangan yang tinggi sejauh menyangkut modul seperti Homebrew, Conda, atau sejenisnya, saya memutuskan untuk membatasi daftar saya pada sistem operasi "tiga utama" - distribusi seperti Ubuntu ( Bagaimana cara menurunkan versi python saya dari 3.7.5 ke 3.6.5 di ubuntu ), CentOS ( Bagaimana cara menurunkan versi python di CentOS? ) dapat dengan mudah diteliti di Stack Overflow. Paling sering daripada tidak Anda dapat menerapkan solusi dari tab Linux untuk distribusi tersebut. Hal yang sama berlaku untuk Windows dan macOS (versi).

JM Arnold
sumber
@ moonman239 Beri tahu saya jika solusi saya telah memenuhi kriteria Anda. Jangan ragu untuk mengajukan pertanyaan apa pun atau beri tahu saya jika saya akan membahas lebih dalam tentang topik tertentu.
JM Arnold
@JMArnold: Sepertinya Anda mencakup semua basis. Terima kasih! Saya menggunakan Windows, yang tampaknya merupakan minoritas pengguna Python, dilihat dari kurangnya jawaban berbasis Windows.
moonman239
3

Cara yang bersih tanpa harus menghapus versi sebelumnya atau kembali ke perangkat lunak tambahan seperti Anaconda atau buruh pelabuhan, dll. Adalah dengan mengunduh kode sumber Python 3.6 dan menginstalnya sebagai berikut:

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

Untuk menggunakannya Anda juga:

  • tambahkan /home/<user>/python3.6/binke PATH(dan libke LD_LIBRARY_PATH) Anda dan selesaikanlah. (Anda mungkin juga perlu menambahkan ke jalur penyertaan, dll., Tergantung pada apa yang ingin Anda capai dengan tepat - tetapi Anda mendapatkan idenya, saya harap.);

  • atau, Anda membuat lingkungan virtual seperti ini: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6.

Tidak diperlukan akses sudo atau root. Tidak mengacaukan sistem Anda.

nondeterministik
sumber
Jangan lupa untuk mendownload versi terbaru terlebih dahulu (3.6.9): python.org/downloads/release/python-369
Rabindranath Andujar
2

Saya mengalami masalah saat menginstal tensorflow dengan python 3.7 dan mengikuti petunjuk ini untuk memiliki pengaturan lingkungan virtual dengan python3.6 dan membuatnya berfungsi

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 

menyiapkan lingkungan virtual python3.6 untuk tensorflow

Jika Anda menggunakan notebook jupyter atau lab jupyter, ini dapat membantu untuk memilih lingkungan virtual yang tepat

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

Pada tahap ini, Anda dapat memulai jupyter, membuat notebook baru dan memilih kernel yang ada di dalam lingkungan Anda.

lingkungan virtual dan notebook jupyter

Semoga ini membantu

Mathew Paul
sumber
2

pyenvdapat digunakan di Linux / MacOS untuk manajemen versi python. pyenv-winadalah garpu pyenvyang dapat digunakan di Windows.

Instalasi

MacOS

Diuji di Mac Catalina

  1. Pasang pyenv.

    brew install pyenv
    
  2. Tambahkan yang berikut ke file konfigurasi shell Anda:

    • .bashrc/ .bash_profile- Untuk Bash
    • .zshrc - Untuk Zsh
    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init -)"
    
  3. Mulai ulang cangkang Anda. Mulai shell baru atau jalankan exec "$SHELL"di shell Anda saat ini.

Linux / Windows di Subsistem Linux

Diuji di Arch Linux

  1. Instal pyenvdi sistem Anda.

    curl https://pyenv.run | bash
    
  2. Ikuti langkah-langkah yang sama seperti pada Langkah 2 dan 3 dari instalasi MacOS.

Windows

  1. Instal pyenv-windi Windows.

    Di Powershell

    pip install pyenv-win --target "$HOME\.pyenv"
    

    Di cmd.exe

    pip install pyenv-win --target "%USERPROFILE%\.pyenv"
    
  2. Siapkan variabel lingkungan menggunakan Powershell / Terminal.

    [System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
    [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
    [System.Environment]::SetEnvironmentVariable('path', $HOME + "\.pyenv\pyenv-win\bin;" + $HOME + "\.pyenv\pyenv-win\shims;" + $env:Path,"User")
    
  3. Tutup dan buka kembali terminal Anda. Laripyenv --version di terminal.

    Sebuah. Jika nilai yang dikembalikan adalah versi pyenv yang diinstal, lanjutkan di bawah. b. Jika Anda menerima kesalahan perintah tidak ditemukan, pastikan variabel lingkungan diatur dengan benar melalui GUI: PC ini → Properti → Pengaturan sistem lanjutan → Lanjutan → Variabel Lingkungan ... → PATH c. Jika Anda menerima galat perintah tidak ditemukan dan Anda menggunakan Visual Studio Code atau IDE lain dengan terminal bawaan, mulai ulang dan coba lagi.

  4. Jalankan pyenv rehashdari direktori home.

Pemakaian

Periksa versi python yang diinstal

pyenv versions

Contoh

$ pyenv versions
* system (set by /home/souser/.pyenv/version)
  3.6.9

Menginstal versi python tertentu

pyenv install <version-number>

Copot pemasangan versi python yang diinstal

pyenv uninstall <version-number>

Tetapkan versi python sebagai versi python di seluruh sistem

pyenv global <version-number> # <version-number> is the name assigned to your python in output of `pyenv versions`

Contoh

$ python --version
Python 3.9.1
$ pyenv global 3.6.9
$ python --version
Python 3.6.9
Tetapkan versi python untuk direktori dan semua sub-direktori itu
pyenv local <version-number> # <version-number> is the name assigned to your python in output of `pyenv versions`

Contoh

~/tmp/temp$ python --version
Python 3.9.1
~/tmp/temp$ pyenv local 3.6.9
~/tmp/temp$ python --version
Python 3.6.9

Untuk lebih jelasnya, Anda dapat memeriksa repo Github: pyenv dan pyenv-win .

Amit Singh
sumber
1

Saya hanya akan merekomendasikan membuat lingkungan virtual baru dan menginstal semua paket dari awal karena roda untuk beberapa paket mungkin telah diinstal untuk versi Python sebelumnya. Saya yakin ini adalah cara teraman dan Anda memiliki dua pilihan.

  1. Membuat lingkungan virtual baru dengan venv:

    python3.6 -m venv -n new_env
    source venv_env/bin/activate
    
  2. Menciptakan condalingkungan:

    conda create -n new_env python=3.6
    conda activate new_env
    

Paket yang Anda instal di lingkungan dibuat berdasarkan versi Python dari lingkungan tersebut dan jika Anda tidak dengan hati-hati mengubah lingkungan yang ada, Anda dapat menyebabkan beberapa ketidakcocokan antar paket. Itulah mengapa saya akan merekomendasikan penggunaan lingkungan baru yang dibangun dengan Python 3.6.

aargun
sumber
0

Unduh dan instal Python 3.6 dan kemudian ubah variabel lingkungan jalur sistem menjadi python 3.6 dan hapus variabel lingkungan sistem jalur python 3.7. Mulai ulang pc untuk hasil.

Sachin Rawat
sumber
0

Jika Anda menggunakan anaconda, Anda bisa membuat lingkungan baru dengan versi yang ditentukan. Jika Anda tidak ingin mempertahankan versi 3.7 yang ada, Anda dapat menghapusnya dan menginstalnya dari sini .

Fenris Lycaon
sumber
-1

Bagi mereka yang ingin menambahkan beberapa versi Python di sistem mereka: Saya dengan mudah menambahkan beberapa interpreter dengan menjalankan perintah berikut:

  • pembaruan sudo apt
  • sudo apt menginstal perangkat lunak-properti-umum
  • sudo add-apt-repository ppa: deadsnakes / ppa
  • sudo apt menginstal python 3.xx
  • kemudian sambil membuat lingkungan virtual Anda memilih penerjemah pilihan Anda.
Abdul Rehman
sumber
-1

Saya baru saja menurunkan Python 3.9 saya ke 3.6 karena saya ingin menggunakan paket librosa tetapi sekarang masih tidak mendukung Python 3.9.

Langkah -

  • Buka situs web resmi python
  • Unduh versi Python yang Anda inginkan
  • Instal di mesin Anda secara normal

Jalankan python3 --versiondi terminal dan itu akan menampilkan versi Python ini.

Samrat De
sumber