it-swarm.com.de

Wie kann ich von ana conda belegten Speicherplatz freigeben?

Ich benutze den Conda Package Manager - viel. Inzwischen habe ich einige Umgebungen und viele heruntergeladene Pakete, die viel Speicherplatz auf meiner SSD benötigen. Ein naheliegender Weg, um etwas von diesem Speicherplatz freizugeben, ist die Verwendung des Befehls

conda env export > environment.yml

aus https://conda.io/docs/user-guide/tasks/manage-environments.html#exporting-the-environment-file , um zu exportieren, welche Pakete meine alten, inaktiven Projekte verwenden (d) und anschließend löschen diese Umgebungen. Soweit ich weiß, sollte dies etwas Platz in anaconda2/envs/ freigeben, jedoch nicht in anaconda2/pkgs/. Wie entferne ich diese Pakete? Ich vermute auch, dass es noch einige Pakete gibt, auf die sich keine Umgebung bezieht - könnte das passieren?

Fragen:

  1. Im Allgemeinen: Wie lässt sich der Platz von Conda am besten reduzieren?
  2. Wie kann ich Pakete entfernen, die keine Umgebung mehr verwendet? Wie schneide ich meine Pakete ab? Ich suche etwas wie Sudo apt-get autoremove von Ubuntu/Debian.
10
Make42

Schließlich habe ich mich mit diesem Thema beschäftigt. Am Ende waren es ein paar Tage Arbeit:

  1. Für alle meine Python-Projekte verwende ich PyCharm und damit habe ich geprüft, welches Projekt welche Umgebung verwendet. Für alle Umgebungen habe ich den conda env export > environment.yml verwendet, um die Umgebungseinstellungen von https://conda.io/projects/conda/de/latest/user-guide/tasks/manage-environments.html#exporting-the-environment zu speichern -Datei
  2. Prüfen Sie, ob meine Projekte noch mit neuen Umgebungen funktionieren, die mit der Datei environment.yml erstellt wurden.
  3. Verwenden Sie anaconda-clean aus Option B in https://docs.anaconda.com/anaconda/install/uninstall und legen Sie das erstellte Backup an einem sicheren Ort ab.
  4. Benennen Sie das alte anaconda2-Verzeichnis in anaconda2_backup um.
  5. Installieren Sie eine neue Conda-Umgebung - miniconda3 in meinem Fall.
  6. Erstellen Sie aus den environment.ymls neue Umgebungen, die für aktuelle Projekte benötigt werden, und prüfen Sie, ob diese funktionieren.
  7. Löschen Sie die alten Anaconda-Sicherungen.

Schließlich habe ich mein logisches Volumen auch mit https://blog.shadypixel.com/how-to-shrink-an-lvm-volume-safely/ - reduziert. Dies ist jedoch nur für Linux-Benutzer, die LVMs verwenden.

Auf diese Weise konnte ich 20 bis 30 GB Speicherplatz freigeben.

0
Make42

Sie können etwas Speicherplatz freigeben mit:

conda clean --all

clean Entfernen Sie nicht verwendete Pakete und Caches.

Conda verwendet bereits Symlinks, wenn möglich für Pakete. Also nicht viel zu verbessern, denke ich.

Ok, danke, aber ich würde gerne "nicht für eine bestimmte Umgebung, sondern allgemein" wissen - für alle Umgebungen. 

Sie können alle Pakete in allen Envs mit ein paar Zeilen Python auflisten:

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