Comment mettre à jour Anaconda?

259

J'ai Anaconda installé sur mon ordinateur et je voudrais le mettre à jour. Dans Navigator, je peux voir qu'il existe plusieurs packages individuels qui peuvent être mis à jour, mais aussi un anacondapackage qui a parfois un numéro de version et dit parfois custom. Comment dois-je procéder?

entrez la description de l'image ici

IanSR
la source
1
La plupart des réponses le suggèrent conda update [-n root] -v anaconda, mais il propose de DOWNGRADE my python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0. Semble très cassé.
smci

Réponses:

417

Ce que 95% des gens veulent réellement

Dans la plupart des cas, ce que vous voulez faire lorsque vous dites que vous souhaitez mettre à jour Anaconda est d'exécuter la commande:

conda update --all

(Mais cela doit être précédé de conda update -n root condasorte que la dernière condaversion soit installée)

Cela mettra à jour tous les packages de l'environnement actuel vers la dernière version - avec les petits caractères étant qu'il peut utiliser une version plus ancienne de certains packages afin de satisfaire les contraintes de dépendance (souvent cela ne sera pas nécessaire et quand il est nécessaire, le le solveur de plan de package fera de son mieux pour minimiser l'impact).

Cela doit être exécuté à partir de la ligne de commande, et le meilleur moyen d'y parvenir est d'Anaconda Navigator, puis l'onglet "Environnements", puis cliquez sur le triangle à côté de l' rootenvironnement, en sélectionnant "Ouvrir le terminal":

Ouvrir le terminal depuis Navigator

Cette opération ne mettra à jour que l'environnement sélectionné (dans ce cas, l' rootenvironnement). Si vous souhaitez mettre à jour d'autres environnements, vous pouvez répéter le processus ci-dessus, mais cliquez d'abord sur l'environnement. Lorsqu'il est sélectionné, il y a un marqueur triangulaire sur la droite (voir l'image ci-dessus, étape 3). Ou à partir de la ligne de commande, vous pouvez fournir le nom de l'environnement ( -n envname) ou le chemin ( -p /path/to/env), par exemple pour mettre à jour votre dspyrenvironnement à partir de la capture d'écran ci-dessus:

conda update -n dspyr --all

Mettre à jour des packages individuels

Si vous souhaitez uniquement mettre à jour un package individuel, cliquez simplement sur la flèche bleue ou le numéro de version bleu dans Navigator, par exemple pour astroidou astropydans la capture d'écran ci-dessus, et cela marquera ces packages pour une mise à niveau. Lorsque vous avez terminé, vous devez cliquer sur le bouton "Appliquer":

Appliquer pour mettre à jour des packages individuels

Ou depuis la ligne de commande:

conda update astroid astropy

Mettre à jour uniquement les packages de la distribution Anaconda standard

Si vous ne vous souciez pas des versions de packages et que vous voulez juste "le dernier ensemble de tous les packages dans la distribution Anaconda standard, tant qu'ils fonctionnent ensemble" , alors vous devriez jeter un œil à cet élément essentiel .

Pourquoi mettre à jour le package Anaconda est presque toujours une mauvaise idée

Dans la plupart des cas, la mise à jour du package Anaconda dans la liste des packages aura un résultat surprenant: vous pouvez en fait rétrograder de nombreux packages (en fait, cela est probable s'il indique la version comme custom). L'essentiel ci-dessus fournit des détails.

Tirer parti des environnements conda

Votre rootenvironnement n'est probablement pas un bon endroit pour essayer de gérer un ensemble exact de packages: ce sera un espace de travail dynamique avec de nouveaux packages installés et des packages mis à jour de manière aléatoire. Si vous avez besoin d'un ensemble exact de packages, créez un environnement conda pour les contenir. Grâce au cache du package conda et à la façon dont la liaison de fichiers est utilisée, cela est généralement i) rapide et ii) consomme très peu d'espace disque supplémentaire. Par exemple

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

La documentation de conda contient plus de détails et d'exemples.

pip, PyPI et setuptools?

Rien de tout cela ne vous aidera à mettre à jour les packages qui ont été installés à partir de PyPI via pipou tout package installé à l'aide python setup.py install. conda listvous donnera quelques conseils sur les packages Python basés sur pip que vous avez dans un environnement, mais il ne fera rien de spécial pour les mettre à jour.

Utilisation commerciale d'Anaconda ou d'Anaconda Enterprise

C'est à peu près exactement la même histoire, à l'exception que vous ne pourrez peut-être pas mettre à jour l' rootenvironnement s'il a été installé par quelqu'un d'autre (par exemple /opt/anaconda/latest). Si vous n'êtes pas en mesure de mettre à jour les environnements que vous utilisez, vous devriez pouvoir cloner puis mettre à jour:

conda create -n myenv --clone root
conda update -n myenv --all
IanSR
la source
4
@MattSchmatt assurez-vous de faire conda update condade même. Conda a considérablement évolué au cours de la dernière année, et en particulier nous avons eu une version fin septembre 2017 qui a introduit de nombreuses améliorations. Si cela conda update --allcasse des choses (ce qui, historiquement, il était presque certain de le faire), alors c'est un bug que vous devez signaler au traqueur de problèmes de conda GitHub - aujourd'hui, cette opération ne devrait casser aucun composant existant (à condition que conda doive être à jour Date).
IanSR
7
J'ai dû faire à la conda update -n root condaplace de ce qui est mentionné ci-dessus pour que cela fonctionne.
Lucas
9
Ce conda update --alln'est pas ce que veulent 95% des gens. Cela peut conduire à un environnement instable. La réponse de user3056882 est plus sûre.
gagarine
1
MacOS actuel Anaconda3 version is 5.1.0. Mais quand je le fais, conda -Vcela me dit 4.5.1même si j'ai couru conda update condaet conda update anaconda. Des idées pourquoi?
Edison
3
conda update --alla échoué pour moi avec une erreur «autorisation refusée». Exécutez-le avec le privilège administrateur avec succès. Pour exécuter avec des privilèges d'administrateur: Démarrer> Anaconda3> Invite Anaconda> Cliquez avec le bouton droit> Plus> Exécuter en tant qu'administrateur.
BabarBaig
100

Si vous essayez de mettre à jour votre version d'Anaconda vers une nouvelle, vous remarquerez que l'exécution du nouveau programme d'installation ne fonctionnera pas, car il se plaint que le répertoire d'installation n'est pas vide.

Vous devez donc utiliser conda pour mettre à niveau comme détaillé par les documents officiels :

conda update conda
conda update anaconda


Sous Windows, si vous avez effectué une installation "pour tous les utilisateurs", il peut être nécessaire d'exécuter à partir d'une invite Anaconda avec des privilèges d'administrateur.

Faites simplement un clic droit sur Anaconda Prompt dans le menu Démarrer

Cela empêche l'erreur:

ERREUR conda.core.link:_execute(502): Une erreur s'est produite lors de la désinstallation du package 'defaults :: conda-4.5.4-py36_0'. PermissionError (13, 'L'accès est refusé')

Cardin Lee JH
la source
46

Ouvrez "commande ou invite conda" et exécutez:

conda update conda
conda update anaconda

C'est une bonne idée d'exécuter les deux commandes deux fois (l'une après l'autre) pour être sûr que tous les fichiers de base sont mis à jour.

Cela devrait vous remettre sur les dernières «versions», qui contiennent des packages sélectionnés par les gens de Continuum pour bien fonctionner ensemble.

Si vous souhaitez exécuter la dernière version de chaque package (cela peut conduire à un environnement instable ):

conda update --all 

J'espère que cela t'aides.

Sources:

H.Latte
la source
10
Si vous préférez un environnement stable plutôt que d'avoir la dernière version de chaque paquet, sautez l'étape 4. conda update anacondadevrait vous remettre sur l'une des `` versions '', qui contient des paquets sélectionnés par les gens de Continuum pour bien fonctionner ensemble.
rudolfbyker
Merci Rudolfbyker. J'ai modifié la réponse pour refléter votre commentaire.
H.Latte
Si vous obtenez une erreur de package non installé, essayez conda install anaconda.
Shital Shah
Je mets à jour conda et tous mes packages ont cessé de fonctionner .... Je ne sais pas pourquoi mais il pense que votre solution n'est pas une bonne idée cuz conda n'est pas stable en utilisant cette façon de mettre à niveau .... voici une façon de rouler retour
Travis
6

Si vous avez du mal à passer par exemple de 3.3.x à 4.x (la mise à jour de conda conda "ne fonctionne pas" pour accéder à la prochaine version) alors essayez-la plus spécifique comme ceci:

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

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

Vous devez savoir ce que vous faites, car le conda pourrait se casser en raison de l'installation forcée. Si vous souhaitez obtenir plus de flexibilité / sécurité, vous pouvez utiliser pkg-manager comme nix (-pkgs) [avec nix-shell] / NixOS.

En loi
la source
Peut-être, mais ne considéreriez-vous pas cela comme complètement brisé, comme une complaisance?
smci
La "continuité" de la version est un standard, par exemple dans le développement (web). Comme toujours, si vous voulez que chaque pensée soit alignée et réévaluée, vous devez tout reconstruire avec les versions mises à jour. En général, un "conda update --all" avec des mises à jour ../conda/../pinned file devrait également fonctionner correctement (! Prenez soin des installations de pip supplémentaires!).
InLaw
2
Lorsque nous devons manuellement indiquer au programme de mise à jour la version spécifique à mettre à jour, ce n'est plus un programme de mise à jour, juste un programme d'installation cassé avec une jolie interface graphique. En général conda update --all, tout casse, comme le dit leur propre FAQ, et dans mon cas, il propose joyeusement de rétrograder mon python de 3.7.0 à 3.6.6 (bien qu'il sache que 3.7.1 est disponible)
smci
C'est votre opinion sur un installateur mais c'est un STANDARD en informatique (avec une raison derrière cela). Encore une fois, cela dépend surtout de votre fichier épinglé ET si vous avez également installé pkgs via PIP! En ce qui concerne votre cas: si vous avez des paquets qui ne sont pas disponibles ou compatibles avec python 3.7.x, il obtiendra la version Python avec peut s'adapter de manière optimale aux restrictions de tous les paquets dans votre env. C'est la raison pour laquelle il y a "conda".
InLaw
Quelle est votre raison d'utiliser conda (sinon pour le contrôle d'intégrité / rétrogradation dont vous vous plaignez)?
InLaw
6

Voici ce que la documentation officielle d'Anaconda recommande:

conda update conda 
conda update anaconda=2020.02

Si la deuxième ligne génère une erreur (faute de frappe dans la documentation?), Cela a fonctionné ici:

conda install anaconda=2020.02

(vous pouvez trouver tous les spécificateurs de version ici )

La commande sera mise à jour vers une version spécifique du méta-package Anaconda.

C'est ce que veulent 95% des utilisateurs d'Anaconda. Simplement la mise à niveau vers la dernière version du méta-package Anaconda (assemblé et testé par les distributeurs Anaconda) et ne se souciant pas du statut de mise à jour des packages individuels (qui seraient émis par conda update --all).

MattSchmatt
la source
5

Voici la meilleure pratique (dans mon humble expérience). La sélection de ces quatre packages mettra également à jour toutes les autres dépendances vers les versions appropriées qui vous aideront à garder votre environnement cohérent. Ce dernier est un problème commun que d'autres ont exprimé dans des réponses antérieures. Cette solution n'a pas besoin du terminal.

Mise à jour et mise à niveau des meilleures pratiques Anaconda3 ou Anaconda2

Tableau complet
la source
Merci, m'a aidé!
Ilan Aizelman WS
3

Ouvrez Anaconda cmd en mode de base:

Utilisez ensuite conda update conda pour mettre à jour Anaconda

Vous pouvez ensuite utiliser conda update --all pour mettre à jour toutes les exigences pour Anaconda

conda update conda  
conda update --all  
farshad
la source
2

Sur Mac, ouvrez le terminal et exécutez les 2 commandes suivantes.

conda update conda
conda update anaconda

assurez-vous d'exécuter chaque commande plusieurs fois pour effectuer la mise à jour vers la version actuelle.

Ajay Sant
la source
7
plusieurs fois? faire sens pour le faire.
Deepak
2
D'après mon expérience, si vous exécutez simplement les commandes une fois qu'il ne se met pas à jour vers les dernières versions des packages python. Je suggère donc de l'exécuter plusieurs fois.
Ajay Sant
Ceci est le double d'une autre réponse ici sur la même page: stackoverflow.com/a/46842054/109618
David J.
2

J'utilise Windows 10. Ce qui suit met à jour tout et installe également de nouveaux packages, y compris une mise à jour python (pour moi, c'était 3.7.3).

Au niveau du shell, essayez ce qui suit (assurez-vous de changer l'emplacement d'installation de vos données Anaconda3). Il faut du temps pour tout mettre à jour.

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

Pour mettre à jour votre version installée vers la dernière version, disons 2019.07, exécutez

conda install anaconda=2019.07

Dans la plupart des cas, cette méthode peut répondre à vos besoins et éviter les problèmes de dépendance

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

recherchez le fichier env.yaml dans C: \ Windows \ System32 et exécutez le cmd en tant qu'administrateur

conda env update -n root -f env.yaml  

alors ça marche!

leeningzzu
la source
-6

Cela ne peut mettre à jour que python:

conda update python
eric xu
la source