Come aggiorno Anaconda?


259

Ho Anaconda installato sul mio computer e vorrei aggiornarlo. In Navigator posso vedere che ci sono diversi singoli pacchetti che possono essere aggiornati, ma anche un anacondapacchetto che a volte ha un numero di versione e a volte dice custom. Come procedo?

inserisci qui la descrizione dell'immagine


1
La maggior parte delle risposte suggerisce conda update [-n root] -v anaconda, ma offre a DOWNGRADE il mio python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0. Sembra molto rotto.
smci,

Risposte:


417

Cosa vuole davvero il 95% delle persone

Nella maggior parte dei casi, ciò che si desidera fare quando si dice che si desidera aggiornare Anaconda è eseguire il comando:

conda update --all

(Ma questo dovrebbe essere preceduto da conda update -n root condacosì hai installato l'ultima condaversione)

Ciò aggiornerà tutti i pacchetti nell'ambiente corrente alla versione più recente, con la piccola stampa che potrebbe utilizzare una versione precedente di alcuni pacchetti al fine di soddisfare i vincoli di dipendenza (spesso questo non è necessario e quando è necessario il il risolutore del piano di pacchetti farà del suo meglio per ridurre al minimo l'impatto).

Questo deve essere eseguito dalla riga di comando, e il modo migliore per arrivarci è da Anaconda Navigator, quindi la scheda "Ambienti", quindi fare clic sul triangolo accanto rootall'ambiente, selezionando "Apri terminale":

Apri terminale da Navigator

Questa operazione aggiornerà solo l'ambiente selezionato (in questo caso, l' rootambiente). Se hai altri ambienti che desideri aggiornare, puoi ripetere il processo sopra, ma prima fai clic sull'ambiente. Quando è selezionato, c'è un indicatore triangolare sulla destra (vedi immagine sopra, passaggio 3). Oppure dalla riga di comando puoi fornire il nome dell'ambiente ( -n envname) o path ( -p /path/to/env), ad esempio per aggiornare il tuo dspyrambiente dallo screenshot sopra:

conda update -n dspyr --all

Aggiorna i singoli pacchetti

Se sei interessato solo all'aggiornamento di un singolo pacchetto, fai semplicemente clic sulla freccia blu o sul numero di versione blu in Navigator, ad esempio per astroido astropynello screenshot sopra, e questo taggerà quei pacchetti per un aggiornamento. Al termine, fai clic sul pulsante "Applica":

Fai domanda per aggiornare i singoli pacchetti

O dalla riga di comando:

conda update astroid astropy

Aggiornamento solo dei pacchetti nella distribuzione Anaconda standard

Se non ti interessano le versioni dei pacchetti e desideri semplicemente "l'ultimo set di tutti i pacchetti nella distribuzione Anaconda standard, purché funzionino insieme" , allora dai un'occhiata a questo .

Perché aggiornare il pacchetto Anaconda è quasi sempre una cattiva idea

Nella maggior parte dei casi, l'aggiornamento del pacchetto Anaconda nell'elenco dei pacchetti avrà un risultato sorprendente: è possibile effettivamente eseguire il downgrade di molti pacchetti (in effetti, questo è probabilmente se indica la versione comecustom ). L'essenza sopra fornisce dettagli.

Sfrutta gli ambienti conda

Il tuo rootambiente probabilmente non è un buon posto per provare a gestire un set esatto di pacchetti: sarà uno spazio di lavoro dinamico con nuovi pacchetti installati e pacchetti aggiornati casualmente. Se hai bisogno di un set esatto di pacchetti, crea un ambiente conda per conservarli. Grazie alla cache del pacchetto conda e al modo in cui viene utilizzato il collegamento dei file, ciò è in genere i) veloce e ii) consuma pochissimo spazio su disco aggiuntivo. Per esempio

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

La documentazione conda contiene ulteriori dettagli ed esempi.

pip, PyPI e setuptools?

Niente di tutto ciò aiuterà con l'aggiornamento dei pacchetti che sono stati installati da PyPI tramite pipo qualsiasi pacchetto installato utilizzando python setup.py install. conda listti darà alcuni suggerimenti sui pacchetti Python basati su pip che hai in un ambiente, ma non farà nulla di speciale per aggiornarli.

Uso commerciale di Anaconda o Anaconda Enterprise

È praticamente esattamente la stessa storia, con l'eccezione che potresti non essere in grado di aggiornare l' rootambiente se è stato installato da qualcun altro (diciamo a /opt/anaconda/latest). Se non riesci ad aggiornare gli ambienti che stai utilizzando, dovresti essere in grado di clonare e quindi aggiornare:

conda create -n myenv --clone root
conda update -n myenv --all

4
@MattSchmatt assicurati di fare conda update condaaltrettanto. Conda si è evoluto in modo sostanziale nell'ultimo anno, e in particolare abbiamo avuto un rilascio alla fine di settembre 2017 che ha introdotto molti miglioramenti. Se si conda update --allrompe qualcosa (che, storicamente, era quasi certo di fare), questo è un bug che dovresti segnalare al tracker del problema condit GitHub - oggi che l'operazione non dovrebbe rompere alcun componente esistente (con la condizione condizionale deve essere fino a Data).
IanSR,

7
Ho dovuto fare conda update -n root condainvece di quanto menzionato sopra per farlo funzionare.
Lucas,

9
Non conda update --allè quello che vogliono il 95% delle persone. Può portare a un ambiente instabile. La risposta dell'utente3056882 è più sicura.
gagarine,

1
MacOS attuale Anaconda3 version is 5.1.0. Ma quando lo faccio conda -Vmi dice 4.5.1anche se ho corso conda update condae conda update anaconda. Qualche idea sul perché?
Edison,

3
conda update --allfallito per me con un errore "permesso negato". L'ho eseguito con il privilegio di amministratore con successo. Per eseguire con il privilegio di amministratore: Start> Anaconda3> Anaconda Prompt> Fai clic con il pulsante destro del mouse> Altro> Esegui come amministratore.
BabarBaig,

100

Se stai provando ad aggiornare la tua versione Anaconda a una nuova, noterai che l'esecuzione del nuovo programma di installazione non funzionerebbe, poiché si lamenta che la directory di installazione non è vuota.

Quindi dovresti usare conda per aggiornare come dettagliato dai documenti ufficiali :

conda update conda
conda update anaconda


In Windows, se hai eseguito un'installazione "per tutti gli utenti", potrebbe essere necessario eseguire da un prompt Anaconda con privilegi di amministratore.

Basta fare clic destro su Anaconda Prompt nel menu di avvio

Questo impedisce l'errore:

ERRORE conda.core.link:_execute(502): si è verificato un errore durante la disinstallazione del pacchetto 'defaults :: conda-4.5.4-py36_0'. PermissionError (13, 'Accesso negato')


46

Apri "command o conda prompt" ed esegui:

conda update conda
conda update anaconda

È una buona idea eseguire entrambi i comandi due volte (uno dopo l'altro) per essere sicuri che tutti i file di base vengano aggiornati.

Questo dovrebbe riportarti alle ultime "versioni", che contengono pacchetti selezionati dalle persone di Continuum per lavorare bene insieme.

Se si desidera eseguire l'ultima versione di ciascun pacchetto (ciò può portare a un ambiente instabile ):

conda update --all 

Spero che questo ti aiuti.

fonti:


10
Se preferisci un ambiente stabile rispetto alla versione più recente di ogni pacchetto, salta il passaggio 4. conda update anacondaDovresti riportarti su una delle "versioni", che contiene pacchetti selezionati dalle persone di Continuum per lavorare bene insieme.
Rudolfbyker,

Grazie Rudolfbyker. Ho modificato la risposta per riflettere il tuo commento.
H.Latte

Se viene visualizzato l'errore del pacchetto non installato, provare conda install anaconda.
Shital Shah,

Aggiornamento conda e quindi tutti i miei pacchetti hanno smesso di funzionare .... Non so perché, ma penso che la tua soluzione non sia una buona idea perché conda non è stabile usando questo modo per aggiornare .... ecco un modo per rotolare indietro
Travis,

6

Se hai problemi a ottenere ad es. Da 3.3.xa 4.x (conda update conda "non funziona" per passare alla versione successiva) di provarlo in modo più specifico in questo modo:

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

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

Dovresti sapere cosa fai, perché conda potrebbe rompersi a causa dell'installazione forzata. Se si desidera ottenere maggiore flessibilità / sicurezza, è possibile utilizzare pkg-manager come nix (-pkgs) [con nix-shell] / NixOS.


Forse, ma non lo considereresti completamente rotto, come un kludge?
smci,

La versione "continuità" è uno standard, ad esempio nello sviluppo (web). Come sempre, se vuoi avere tutto pensato e rivalutato, dovresti ricostruire tutto con le versioni aggiornate. In generale un "aggiornamento conda - tutti" con gli aggiornamenti ../conda/../pinned dovrebbe funzionare anche correttamente (fare attenzione alle installazioni di pip aggiuntive!).
InLaw,

2
Quando dobbiamo dire manualmente al programma di aggiornamento a quale versione specifica aggiornare, quindi non è più un programma di aggiornamento, ma solo un programma di installazione non funzionante con un'interfaccia grafica carina. In generale si conda update --allrompe tutto, come dicono le loro FAQ, e nel mio caso offre allegramente il downgrade del mio pitone dalla 3.7.0 alla 3.6.6 (anche se sa che la 3.7.1 è disponibile)
smci

Questa è la tua opinione su un programma di installazione, ma è uno STANDARD in IT (con qualche motivo dietro). Ancora una volta, dipende soprattutto dal tuo file appuntato E se hai installato pkgs anche tramite PIP! Per quanto riguarda il tuo caso: se hai pkg che non sono disponibili o compatibili con python 3.7.x di quanto otterrà la versione Python con può adattarsi in modo ottimale alle restrizioni di tutti i pkg nel tuo ambiente. Questo è il motivo per cui esiste "conda".
InLaw,

Qual è il motivo per cui usi conda (se non per il controllo di integrità / downgrade di cui ti lamenti)?
InLaw,

6

Questo è ciò che la documentazione ufficiale Anaconda raccomanda:

conda update conda 
conda update anaconda=2020.02

Se la seconda riga genera un errore (refuso nei documenti?), Ha funzionato qui:

conda install anaconda=2020.02

(puoi trovare tutti gli identificatori di versione qui )

Il comando verrà aggiornato a una versione specifica del meta-pacchetto Anaconda.

Questo è ciò che il 95% degli utenti Anaconda desidera. Semplicemente l'aggiornamento all'ultima versione del meta-pacchetto Anaconda (messo insieme e testato dai distributori Anaconda) e non preoccupandosi dello stato di aggiornamento dei singoli pacchetti (che sarebbe stato rilasciato da conda update --all).


5

Ecco la migliore pratica (nella mia umile esperienza). La selezione di questi quattro pacchetti aggiornerà anche tutte le altre dipendenze alle versioni appropriate che ti aiuteranno a mantenere coerente il tuo ambiente. Quest'ultimo è un problema comune che altri hanno espresso nelle risposte precedenti. Questa soluzione non ha bisogno del terminale.

Aggiornamento e aggiornamento delle best practice Anaconda3 o Anaconda2


Grazie, mi hai aiutato!
Ilan Aizelman WS,

3

Apri Anaconda cmd in modalità base:

Quindi utilizzare conda update conda per aggiornare Anaconda

È quindi possibile utilizzare l'aggiornamento conda - tutti per aggiornare tutti i requisiti per Anaconda

conda update conda  
conda update --all  

2

Sul Mac, apri il terminale ed esegui i seguenti 2 comandi.

conda update conda
conda update anaconda

assicurati di eseguire ogni comando più volte per aggiornare alla versione corrente.


7
più volte? non ha senso farlo.
Deepak,

2
Nella mia esperienza, se esegui semplicemente i comandi una volta che non si aggiorna alle ultime versioni dei pacchetti python. Quindi suggerisco di eseguirlo più volte.
Ajay Sant

Questo è il duplicato di un'altra risposta qui nella stessa pagina: stackoverflow.com/a/46842054/109618
David J.

2

Sto usando Windows 10. Il seguente aggiorna tutto e installa anche alcuni nuovi pacchetti, incluso un aggiornamento Python (per me era 3.7.3).

Alla shell, prova quanto segue (assicurati di cambiare la posizione in cui sono installati i tuoi dati Anaconda3). Ci vuole del tempo per aggiornare tutto.

conda update --prefix X:\XXXXData\Anaconda3 anaconda

1

Per aggiornare la versione installata all'ultima versione, ad esempio 2019.07, eseguire

conda install anaconda=2019.07

Nella maggior parte dei casi, questo metodo può soddisfare le tue esigenze ed evitare problemi di dipendenza


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

individuare env.yaml in C: \ Windows \ System32 ed eseguire il cmd come amministratore

conda env update -n root -f env.yaml  

allora funziona!


-6

Questo può aggiornare solo Python:

conda update python
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.