109 votes

Comment libérer de l'espace disque occupé par (ana) conda?

Je suis l'aide de la conda gestionnaire de paquets - un lot. Maintenant j'ai tout à fait un peu d'environnements et de beaucoup de paquets en prenant beaucoup d'espace sur mon disque SSD. Un évident chemin de libérer de l'espace est d'utiliser la commande

conda env export > environment.yml

à partir de https://conda.io/docs/user-guide/tasks/manage-environments.html#exporting-the-environment-file pour exporter les paquets mon vieux, inactif projets de(d) et ensuite supprimer ces environnements. Comme je le comprends, ce doit libérer de l'espace en anaconda2/envs/, mais pas en anaconda2/pkgs/. Comment puis-je me débarrasser de ces forfaits? Aussi, je soupçonne qu'il pourrait être tout à fait un peu de paquets encore assis autour de, à qui aucun environnement ne se relie à l' - pourrait-il se produire?

Questions:

  1. En général: Quelle est la meilleure façon de réduire l'espace occupé par conda?
  2. Comment puis-je me débarrasser des paquets qui n'environnement est à l'aide de plus? Comment puis-je tailler mes paquets? Je suis à la recherche de quelque chose comme sudo apt-get autoremove de Ubuntu/Debian.

212voto

Mike Müller Points 2963

Vous pouvez libérer de l'espace avec:

conda clean --all

clean Supprimer les paquets inutilisés et les caches.

Conda déjà utiliser des liens symboliques lorsque cela est possible pour les paquets. Donc, pas grand chose à améliorer ici, je suppose.

Ok, merci, mais je voudrais savoir "pas pour un environnement spécifique, mais en général" - pour tous les environnements.

Vous pouvez lister tous les paquets dans tous les envs avec quelques lignes de Python:

import os
import subprocess
for env in os.listdir('/Users/me/miniconda3/envs'):
    subprocess.call(['conda', 'list', '-n', env])

15voto

Make42 Points 2727

Enfin je l'ai eu à gérer ce problème. En fin de compte, il a été une couple de jours de travail:

  1. Pour tous mes Python projets que j'ai utiliser PyCharm et, avec elle, j'ai vérifié le projet qui utilise l'environnement. Pour tous les environnements, j'ai utilisé l' conda env export > environment.yml pour enregistrer les paramètres de l'environnement de https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#exporting-the-environment-file
  2. Vérifier si mes projets toujours travailler avec de nouveaux environnements créés à partir de l'environnement.yml.
  3. Utiliser anaconda-clean de l'option B à l' https://docs.anaconda.com/anaconda/install/uninstall et de mettre la sauvegarde créé dans un enregistrement de la place.
  4. Renommez l'ancien anaconda2 répertoire anaconda2_backup.
  5. Installer un nouveau conda environnement - miniconda3 dans mon cas.
  6. De construire de nouveaux environnements qui sont nécessaires pour les projets en cours de l' environment.ymls et de vérifier si ces travaux.
  7. Supprimer l'ancien anaconda sauvegardes.

Enfin j'ai aussi réduit mon volume logique avec https://blog.shadypixel.com/how-to-shrink-an-lvm-volume-safely/ mais c'est seulement pour les utilisateurs de Linux à l'aide de LVMs.

De cette façon j'ai pu gratuit de 20 à 30 GO d'espace.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X