base
?J'ai installé de nombreux packages d'apprentissage automatique dans mon environnement base
conda.
J'ai maintenant créé un environnement ml
pour l'apprentissage automatique et je souhaite réinitialiser mon environnement base
en supprimant tous les packages qui y sont installés.
J'ai essayé:
% activate base
% conda uninstall -n base --all
CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again
Apparemment, je ne peux pas supprimer les paquets de l'environnement actuel (?!), Nous allons donc passer d'abord à mon environnement ml
:
% source activate ml
% conda uninstall -n base --all
CondaEnvironmentError: cannot remove root environment,
add -n NAME or -p PREFIX option
Bon, je vais utiliser -p
puis...
% conda uninstall -p ~/.local/share/miniconda3 --all
CondaEnvironmentError: cannot remove root environment,
add -n NAME or -p PREFIX option
Comment désinstaller tous les packages installés dans l'environnement base
ou root
?
Apparemment, je ne peux pas supprimer les paquets de l'environnement actuel (?!)
Ce n’est pas cela, mais vous ne pouvez pas supprimer l’environnement base, qui est ce que le --all
drapeau fait. Vous ne pouvez pas désinstaller tous les packages de base car c'est là que réside l'exécutable conda. Au lieu de cela, ce que vous voulez faire est de désinstaller tous les packages installés par l'utilisateur. Pour ce faire, vous pouvez notamment rétablir l'état d'origine de votre environnement avant d'installer des packages utilisateur:
> conda install --revision 0
Vous pouvez également rechercher d'autres états antérieurs qui pourraient être moins d'une régression, mais tout de même vous débarrasser des paquets que vous pensez avoir accumulés inutilement.
> conda list -n base -r
En fin de compte, vous voudrez probablement mettre à jour conda
juste après, car les modifications apportées aux packages de base seront également annulées.
Bien que ce qui précède soit vraiment la bonne solution, je rencontre l'erreur:
CondaRevisionError: Impossible de revenir à 0 car :: contextlib2-0.5.3-py35_0 n'est pas dans les repodata.
Soit dit en passant, cela m'inquiète car cela semble indiquer que l'état de mon environnement de conda d'il y a deux ans n'est plus reproductible à partir de l'état des canaux en amont. J'ai travaillé sur l'hypothèse que ce type de reproductibilité est intégré.
Quoi qu'il en soit, je ne connais pas un moyen propre de résoudre ce problème autrement que de comparer tous les packages de révision 0 à votre installation actuelle, puis de désinstaller la différence.
J'ai eu le même problème que vous, c'est ce que j'ai fait:
sauvegarder mon conda-env:
je. activer l'env je veux garder, comme 'ml'
ii. tapez conda-env export > /path/to/save/file/environment.yml
active base
et rétablit la base env en initial: type conda install --revision 0
, cela devrait prendre un peu de temps ... (cette commande n'a pas annulé TOUS mes envs, juste l'env. BASE)
chargez votre fichier .yml: tapez conda env create -f /path/to/save/file/environment.yml