J'utilise beaucoup le gestionnaire de paquets conda. À l'heure actuelle, j'ai pas mal d'environnements et beaucoup de paquets téléchargés prenant beaucoup de place sur mon disque SSD. Un chemin évident pour libérer une partie de cet espace consiste à utiliser la commande
conda env export > environment.yml
from https://conda.io/docs/user-guide/tasks/manage-environments.html#exporting-the-environment-file pour exporter les packages utilisés par mes anciens projets inactifs (d), puis supprimés ces environnements. Autant que je sache, cela devrait libérer une partie de l'espace dans anaconda2/envs/
, mais pas dans anaconda2/pkgs/
. Comment puis-je me débarrasser de ces paquets? De plus, je soupçonne qu’il pourrait rester encore quelques paquets auxquels aucun environnement n’est lié - cela pourrait-il se produire?
Des questions:
Sudo apt-get autoremove
sur Ubuntu/Debian.Enfin, je me suis occupé de ce problème. À la fin, c’était quelques jours de travail:
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 -fichieranaconda-clean
de l'option B dans https://docs.anaconda.com/anaconda/install/uninstall et placez la sauvegarde créée dans un emplacement sauvegardé.anaconda2
en anaconda2_backup
.miniconda3
dans mon cas.environment.yml
s et vérifiez si ceux-ci fonctionnent.Enfin, j'ai également réduit mon volume logique avec https://blog.shadypixel.com/how-to-shrink-an-lvm-volume-safely/ , mais cela ne concerne que les utilisateurs de Linux utilisant des LVM.
De cette façon, j'ai pu libérer 20 à 30 Go d'espace.
Vous pouvez libérer de l'espace avec:
conda clean --all
clean
Supprimez les packages et les caches inutilisés.
Conda utilise déjà des liens symboliques lorsque cela est possible pour les packages. Donc, pas grand chose à améliorer ici, je suppose.
Ok, merci, mais j'aimerais 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 env avec quelques lignes de Python:
import os
import subprocess
for env in os.listdir('/Users/me/miniconda3/envs'):
subprocess.call(['conda', 'list', '-n', env])