Bagaimana cara meningkatkan ke Python 3.6 dengan conda?

171

Saya baru mengenal manajemen paket Conda dan saya ingin mendapatkan versi terbaru Python untuk menggunakan f-string dalam kode saya. Saat ini versi saya adalah ( python -V):

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

Bagaimana cara saya meningkatkan ke Python 3.6?

Aryaman
sumber
Jawaban kedua adalah, saya pikir, jawaban yang lebih baik, terutama bagi mereka yang memiliki lingkungan "master" / "default" di mana yang terbaru dan terhebat terus diperbarui.
ericmjl

Jawaban:

248

Anaconda belum memperbarui python secara internal ke 3.6.

a) Metode 1

  1. Jika Anda ingin memperbarui, Anda akan mengetik conda update python
  2. Untuk memperbarui jenis anaconda conda update anaconda
  3. Jika Anda ingin meningkatkan versi python utama seperti 3.5 ke 3.6, Anda harus melakukannya

    conda install python=$pythonversion$

b) Metode 2 - Ciptakan lingkungan baru (Metode yang Lebih Baik)

conda create --name py36 python=3.6

c) Untuk mendapatkan python terbaru absolut (3.6.5 pada saat penulisan)

conda create --name py365 python=3.6.5 --channel conda-forge

Anda dapat melihat semua ini dari sini

Juga, lihat ini untuk peningkatan paksa

EDIT: Anaconda sekarang memiliki versi Python 3.6 di sini

Moulick
sumber
18
Kecuali Continuum telah mengubah cara kerja conda, Anda tidak dapat memutakhirkan versi Python utama conda update python. Lihat di sini: conda.pydata.org/docs/py2or3.html#update-or-upgrade-python
darthbith
14
conda install python = $ pythonversion $ eg conda install python = 3.6
Tim Richardson
11
conda update pythonhanya membawa saya dari 3.6.5 ke 3.7.0. Rapi!
fredrik
Ada salah ketik dalam jawabannya, Metode 1.3. Itu harus conda install python=$pythonversion$dengan tanda sama dengan tunggal.
eze1981
Metode FYI a) berfungsi untuk mengubah berbagai versi python juga, asalkan tidak merusak dependensi dalam venv
Spcogg yang kedua
41

Menciptakan lingkungan baru akan menginstal python 3.6:

$ conda create --name 3point6 python=3.6
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /Users/dstansby/miniconda3/envs/3point6:

The following NEW packages will be INSTALLED:

    openssl:    1.0.2j-0     
    pip:        9.0.1-py36_1 
    python:     3.6.0-0      
    readline:   6.2-2        
    setuptools: 27.2.0-py36_0
    sqlite:     3.13.0-0     
    tk:         8.5.18-0     
    wheel:      0.29.0-py36_0
    xz:         5.2.2-1      
    zlib:       1.2.8-3 
David Stansby
sumber
2
Jika instalasi conda Anda untuk Python 2.7 maka conda create akan membuat versi 2.7. mengubah perintah menjadi conda create --name 3point6 python=3(menambahkan =3di akhir) membuat versi python3.
Jonah Graham
1
Memang akan. Saya telah mengubah jawaban saya untuk menentukan python 3.6!
David Stansby
25

Saya menemukan halaman ini dengan instruksi terperinci untuk memutakhirkan Anaconda ke versi Python utama yang lebih baru (dari Anaconda 4.0+). Pertama,

conda update conda
conda remove argcomplete conda-manager

Saya juga harus conda removememasukkan beberapa paket yang tidak ada dalam daftar resmi:

  • backports_abc
  • sup-indah
  • inti api

Bergantung pada paket yang diinstal pada sistem Anda, Anda mungkin mendapatkan UnsatisfiableErrorkesalahan tambahan - cukup tambahkan paket itu ke daftar hapus. Selanjutnya, instal versi Python,

conda install python==3.6

yang membutuhkan waktu, setelah pesan ditunjukkan conda install anaconda-client, jadi saya lakukan

conda install anaconda-client

yang mengatakan sudah ada di sana. Akhirnya, mengikuti arahan,

conda update anaconda

Saya melakukan ini di command prompt Windows 10, tetapi semuanya harus serupa di Mac OS X.

Christian Tremblay
sumber
18

Di masa lalu, saya merasa cukup sulit untuk mencoba memutakhirkan di tempat.

Catatan: use-case saya untuk Anaconda adalah sebagai lingkungan Python all-in-one. Saya tidak peduli dengan lingkungan virtual yang terpisah. Jika Anda menggunakannya condauntuk membuat lingkungan, ini mungkin merusak karena condamenciptakan lingkungan dengan tautan keras di dalam Anaconda/envsdirektori Anda .

Jadi, jika Anda menggunakan lingkungan, Anda mungkin ingin mengekspor lingkungan Anda terlebih dahulu . Setelah mengaktifkan lingkungan Anda, lakukan sesuatu seperti:

conda env export > environment.yml

Setelah mencadangkan lingkungan Anda (jika perlu), Anda dapat menghapus Anaconda lama Anda (sangat mudah untuk menghapus Anaconda):

$ rm -rf ~/anaconda3/

dan ganti dengan mengunduh Anaconda baru, misalnya Linux, 64 bit:

$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh 

( lihat di sini untuk yang lebih baru ),

dan kemudian menjalankannya:

$ bash Anaconda3-4.3.0-Linux-x86_64.sh 
Aaron Hall
sumber
11

Saya menggunakan Mo OS Macja

4 langkah ini berhasil untuk saya.

  1. conda update conda
  2. conda install python=3.6
  3. conda install anaconda-client
  4. conda update anaconda
Abdul Rahman Hafez
sumber
0

Metode terbaik yang saya temukan:

source activate old_env
conda env export > old_env.yml

Kemudian proses dengan sesuatu seperti ini:

with open('old_env.yml', 'r') as fin, open('new_env.yml', 'w') as fout:
    for line in fin:
        if 'py35' in line:  # replace by the version you want to supersede
            line = line[:line.rfind('=')] + '\n'
        fout.write(line)

lalu edit secara manual baris pertama ( name: ...) dan terakhir ( prefix: ...) untuk mencerminkan nama lingkungan baru Anda dan jalankan:

conda env create -f new_env.yml

Anda mungkin perlu menghapus atau mengubah secara manual pin versi dari beberapa paket yang versi pined-nya old_envditemukan tidak kompatibel atau hilang untuk versi python baru.

Saya berharap ada built-in, cara yang lebih mudah ...

Alex
sumber