Bagaimana cara saya memperbarui Anaconda?

259

Saya telah menginstal Anaconda di komputer saya dan saya ingin memperbaruinya. Di Navigator saya dapat melihat bahwa ada beberapa paket individu yang dapat diperbarui, tetapi juga sebuah anacondapaket yang kadang-kadang memiliki nomor versi dan kadang-kadang mengatakan custom. Bagaimana saya melanjutkan?

masukkan deskripsi gambar di sini

IanSR
sumber
1
Sebagian besar jawaban menyarankan conda update [-n root] -v anaconda, tetapi menawarkan untuk MENGUNDUHKU python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0. Tampaknya sangat rusak.
smci

Jawaban:

417

Apa yang 95% orang inginkan

Dalam kebanyakan kasus, apa yang ingin Anda lakukan ketika Anda mengatakan bahwa Anda ingin memperbarui Anaconda adalah dengan menjalankan perintah:

conda update --all

(Tetapi ini harus didahului oleh conda update -n root condasehingga Anda memiliki condaversi terbaru diinstal)

Ini akan memperbarui semua paket di lingkungan saat ini ke versi terbaru - dengan cetakan kecil adalah bahwa ia mungkin menggunakan versi yang lebih lama dari beberapa paket untuk memenuhi batasan ketergantungan (seringkali ini tidak diperlukan dan ketika diperlukan, pemecah paket paket akan melakukan yang terbaik untuk meminimalkan dampak).

Ini perlu dieksekusi dari baris perintah, dan cara terbaik untuk sampai ke sana adalah dari Anaconda Navigator, lalu tab "Environments", lalu klik pada segitiga di samping rootlingkungan, pilih "Open Terminal":

Buka terminal dari Navigator

Operasi ini hanya akan memperbarui satu lingkungan yang dipilih (dalam hal ini, rootlingkungan). Jika Anda memiliki lingkungan lain yang ingin Anda perbarui, Anda dapat mengulangi proses di atas, tetapi pertama-tama klik pada lingkungan tersebut. Ketika dipilih ada penanda segitiga di sebelah kanan (lihat gambar di atas, langkah 3). Atau dari baris perintah Anda dapat memberikan nama lingkungan ( -n envname) atau jalur ( -p /path/to/env), misalnya untuk memperbarui dspyrlingkungan Anda dari tangkapan layar di atas:

conda update -n dspyr --all

Perbarui paket individual

Jika Anda hanya tertarik untuk memperbarui satu paket saja, cukup klik panah biru atau nomor versi biru di Navigator, mis. Untuk astroidatau astropydalam tangkapan layar di atas, dan ini akan menandai paket-paket itu untuk peningkatan. Setelah selesai, Anda perlu mengklik tombol "Terapkan":

Terapkan untuk memperbarui paket individual

Atau dari baris perintah:

conda update astroid astropy

Memperbarui hanya paket di Distribusi Anaconda standar

Jika Anda tidak peduli dengan versi paket dan hanya ingin "set terbaru dari semua paket dalam Distribusi Anaconda standar, selama mereka bekerja bersama" , maka Anda harus melihat intinya .

Mengapa memperbarui paket Anaconda hampir selalu merupakan ide yang buruk

Dalam kebanyakan kasus memperbarui paket Anaconda dalam daftar paket akan memiliki hasil yang mengejutkan: Anda sebenarnya dapat menurunkan banyak paket (pada kenyataannya, ini mungkin jika itu menunjukkan versi sebagai custom). Inti di atas memberikan detail.

Leverage lingkungan conda

rootLingkungan Anda mungkin bukan tempat yang baik untuk mencoba dan mengelola serangkaian paket yang tepat: itu akan menjadi ruang kerja yang dinamis dengan paket baru diinstal dan paket diperbarui secara acak. Jika Anda membutuhkan kumpulan paket yang tepat maka buatlah lingkungan conda untuk menampungnya. Berkat cache paket conda dan cara menautkan file digunakan melakukan hal ini biasanya i) cepat dan ii) mengkonsumsi sedikit ruang disk tambahan. Misalnya

conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk

The dokumentasi conda memiliki rincian lebih lanjut dan contoh.

pip, PyPI, dan setuptools?

Semua ini tidak akan membantu memperbarui paket yang telah diinstal dari PyPI melalui pipatau paket apa pun yang diinstal menggunakan python setup.py install. conda listakan memberi Anda beberapa petunjuk tentang paket Python berbasis pip yang Anda miliki di lingkungan, tetapi tidak akan melakukan sesuatu yang istimewa untuk memperbaruinya.

Penggunaan komersial Anaconda atau Anaconda Enterprise

Ceritanya hampir sama persis, dengan pengecualian bahwa Anda mungkin tidak dapat memperbarui rootlingkungan jika diinstal oleh orang lain (katakanlah /opt/anaconda/latest). Jika Anda tidak dapat memperbarui lingkungan yang Anda gunakan, Anda harus dapat mengkloning dan kemudian memperbarui:

conda create -n myenv --clone root
conda update -n myenv --all
IanSR
sumber
4
@MattSchmatt pastikan Anda melakukannya conda update condajuga. Conda telah berevolusi secara substansial pada tahun lalu, dan khususnya kami memiliki rilis pada akhir September 2017 yang memperkenalkan banyak perbaikan. Jika conda update --allhal-hal rusak (yang, secara historis, hampir pasti untuk dilakukan) maka ini adalah bug yang harus Anda laporkan ke pelacak isu GitHub - hari ini bahwa operasi tidak boleh merusak komponen apa pun yang ada (dengan ketentuan persyaratan kondis tanggal).
IanSR
7
Saya harus melakukan conda update -n root condaalih - alih apa yang disebutkan di atas agar berfungsi.
Lucas
9
The conda update --allbukan apa 95% masyarakat inginkan. Ini dapat menyebabkan lingkungan yang tidak stabil. Jawaban oleh user3056882 lebih aman.
gagarine
1
MacOS saat ini Anaconda3 version is 5.1.0. Tetapi ketika saya melakukannya conda -Vmemberitahu saya 4.5.1meskipun saya berlari conda update condadan conda update anaconda. Ada ide kenapa?
Edison
3
conda update --allgagal untuk saya dengan kesalahan 'izin ditolak'. Jalankan dengan privilege administrator dengan sukses. Untuk menjalankan dengan hak istimewa Administrator: Mulai> Anaconda3> Anaconda Prompt> Klik kanan> Lainnya> Jalankan Sebagai Administrator.
BabarBaig
100

Jika Anda mencoba memperbarui versi Anaconda Anda ke yang baru, Anda akan melihat bahwa menjalankan installer baru tidak akan berfungsi, karena komplain direktori instalasi tidak kosong.

Jadi, Anda harus menggunakan conda untuk memutakhirkan sebagaimana dirinci oleh dokumen resmi :

conda update conda
conda update anaconda


Di Windows, jika Anda melakukan instalasi "untuk semua pengguna", mungkin perlu dijalankan dari prompt Anaconda dengan hak istimewa Administrator.

Cukup klik kanan pada Anaconda Prompt di menu mulai

Ini mencegah kesalahan:

ERROR conda.core.link:_execute(502): Terjadi kesalahan saat mencopot paket 'defaults: conda-4.5.4-py36_0'. PermissionError (13, 'Akses ditolak')

Cardin Lee JH
sumber
46

Buka "command or conda prompt" dan jalankan:

conda update conda
conda update anaconda

Sebaiknya jalankan kedua perintah dua kali (satu demi satu) untuk memastikan bahwa semua file dasar diperbarui.

Ini akan mengembalikan Anda pada 'rilis' terbaru, yang berisi paket-paket yang dipilih oleh orang-orang di Continuum untuk bekerja sama dengan baik.

Jika Anda ingin versi terakhir dari setiap paket dijalankan (ini dapat menyebabkan lingkungan yang tidak stabil ):

conda update --all 

Semoga ini membantu.

Sumber:

H.Latte
sumber
10
Jika Anda lebih suka lingkungan yang stabil daripada memiliki versi terbaru dari setiap paket, maka lewati langkah 4. conda update anacondaharus mengembalikan Anda pada salah satu 'rilis', yang berisi paket-paket yang dipilih oleh orang-orang di Continuum untuk bekerja sama dengan baik.
rudolfbyker
Terima kasih rudolfbyker. Saya telah mengedit jawaban untuk mencerminkan komentar Anda.
H.Latte
Jika Anda mendapatkan paket yang tidak diinstal coba kesalahan conda install anaconda.
Shital Shah
Saya memperbarui conda dan kemudian semua paket saya berhenti berfungsi .... Saya tidak tahu mengapa tetapi ia berpikir solusi Anda bukan ide yang baik karena cuz conda tidak stabil menggunakan cara ini untuk memutakhirkan .... berikut adalah cara untuk memutar kembali
Travis
6

Jika Anda mengalami kesulitan untuk mendapatkan mis. Dari 3.3.x ke 4.x (conda perbarui conda "tidak berfungsi" untuk sampai ke versi berikutnya) daripada mencobanya secara lebih spesifik seperti:

conda install conda=4.0 (or conda install anaconda=4.0)

https://www.anaconda.com/blog/developer-blog/anaconda-4-release/

Anda harus tahu apa yang Anda lakukan, karena konda bisa rusak karena pemasangan paksa. Jika Anda ingin mendapatkan lebih banyak fleksibilitas / keamanan, Anda dapat menggunakan pkg-manager seperti nix (-pkgs) [dengan nix-shell] / NixOS.

Dalam hukum
sumber
Mungkin, tetapi tidakkah Anda menganggap itu benar-benar rusak, sebagai kludge?
smci
Versi "kontinuitas" adalah standar misalnya dalam pengembangan (web). Seperti biasa, jika Anda ingin semua orang diubah dan dievaluasi kembali, Anda harus membangun kembali semua dengan Versi yang diperbarui. Secara umum "conda update --all" dengan pembaruan ../conda/../pinned file juga harus bekerja dengan baik (! Jaga instalasi pip tambahan!).
InLaw
2
Ketika kami secara manual harus memberi tahu updater versi spesifik mana yang akan diperbarui, maka itu bukan lagi updater, hanya installer yang rusak dengan GUI yang cantik. Secara umum conda update --allmemecah segalanya, seperti yang dikatakan dalam FAQ mereka sendiri, dan dalam contoh saya ini dengan senang hati menawarkan untuk menurunkan versi python saya dari 3.7.0 ke 3.6.6 (meskipun ia tahu 3.7.1 tersedia)
smci
Itu pendapat Anda tentang installer tetapi ini adalah STANDAR dalam TI (dengan beberapa alasan di baliknya). Sekali lagi, itu tergantung terutama pada file yang Anda sematkan DAN jika Anda menginstal pkgs juga melalui PIP! Mengenai kasus Anda: jika Anda memiliki pkgs yang tidak tersedia atau tidak kompatibel dengan python 3.7.x DARI itu akan mendapatkan versi Python dengan dapat secara optimal sesuai dengan pembatasan semua pkgs di env Anda. Itulah alasan mengapa ada "conda".
InLaw
Apa alasan Anda menggunakan conda (jika bukan karena pemeriksaan integritas / penurunan versi yang Anda keluhkan)?
InLaw
6

Inilah yang direkomendasikan oleh dokumentasi resmi Anaconda :

conda update conda 
conda update anaconda=2020.02

Jika baris kedua melempar kesalahan (salah ketik pada dokumen?) Ini berfungsi di sini:

conda install anaconda=2020.02

(Anda dapat menemukan semua penentu versi di sini )

Perintah akan memperbarui ke rilis spesifik dari paket meta Anaconda.

Inilah yang diinginkan oleh 95% pengguna Anaconda. Cukup memutakhirkan ke versi terbaru dari paket meta Anaconda (disatukan dan diuji oleh Distributor Anaconda) dan tidak peduli tentang status pembaruan dari masing-masing paket (yang akan dikeluarkan oleh conda update --all).

MattSchmatt
sumber
5

Inilah praktik terbaik (dalam pengalaman saya yang sederhana). Memilih empat paket ini juga akan memperbarui semua dependensi lainnya ke versi yang sesuai yang akan membantu Anda menjaga lingkungan Anda konsisten. Yang terakhir adalah masalah umum yang orang lain nyatakan dalam tanggapan sebelumnya. Solusi ini tidak memerlukan terminal.

Memperbarui dan meningkatkan praktik terbaik Anaconda3 atau Anaconda2

Array penuh
sumber
Terima kasih, bantu saya!
Ilan Aizelman WS
3

Buka Anaconda cmd dalam mode dasar:

Kemudian gunakan conda update conda untuk memperbarui Anaconda

Anda kemudian dapat menggunakan pembaruan conda --semua untuk memperbarui semua persyaratan untuk Anaconda

conda update conda  
conda update --all  
farshad
sumber
2

Pada Mac buka terminal dan jalankan 2 perintah berikut.

conda update conda
conda update anaconda

pastikan untuk menjalankan setiap perintah beberapa kali untuk memperbarui ke versi saat ini.

Ajay Sant
sumber
7
beberapa waktu? doest masuk akal untuk melakukan itu.
Deepak
2
Dalam pengalaman saya, jika Anda hanya menjalankan perintah setelah tidak memperbarui ke versi terbaru dari paket python. Jadi saya sarankan menjalankannya beberapa kali.
Ajay Sant
Ini adalah duplikat dari jawaban lain di sini pada halaman yang sama: stackoverflow.com/a/46842054/109618
David J.
2

Saya menggunakan Windows 10. Berikut ini memperbarui semuanya dan juga menginstal beberapa paket baru, termasuk pembaruan python (bagi saya itu adalah 3.7.3).

Di shell, coba yang berikut ini (pastikan untuk mengubah di mana Anaconda3 Data Anda diinstal). Butuh beberapa waktu untuk memperbarui semuanya.

conda update --prefix X:\XXXXData\Anaconda3 anaconda
D Jacobson
sumber
1

Untuk memperbarui versi terinstal Anda ke versi terbaru, katakan 2019.07, jalankan

conda install anaconda=2019.07

Dalam kebanyakan kasus, metode ini dapat memenuhi kebutuhan Anda dan menghindari masalah ketergantungan

QaraQoyunlu
sumber
0
conda create -n py37 -c anaconda anaconda=5.3.1
conda env export -n py37 --file env.yaml

temukan env.yaml di C: \ Windows \ System32 dan jalankan cmd sebagai administrator

conda env update -n root -f env.yaml  

lalu berhasil!

Leeningzzu
sumber
-6

Ini hanya dapat memperbarui python:

conda update python
eric xu
sumber