Heim >Backend-Entwicklung >Python-Tutorial >Warum werden Pakete lokal installiert und nicht zentral verknüpft?
Warum werden Pakete lokal installiert und nicht zentral verknüpft?
Conda und andere Paketmanager installieren Pakete normalerweise in isolierten Umgebungen. Benutzer fragen sich möglicherweise, warum Pakete nicht einfach mit einem zentralen Ort verknüpft werden, da Conda heruntergeladene Pakete zwischenspeichert.
Condas Hardlink-Mechanismus
Tatsächlich verwendet Conda dies bereits Strategie. Conda-Pakete werden in fest verknüpften Verzeichnissen installiert, was bedeutet, dass mehrere Verzeichnisse scheinbar eindeutige Kopien von Paketen enthalten, tatsächlich jedoch dieselben zugrunde liegenden Daten teilen.
Platzersparnis
A Ein weit verbreitetes Missverständnis ist, dass jede Umgebung eine beträchtliche Menge an Platz beansprucht. Aufgrund des Hardlinking-Mechanismus ist die tatsächliche Festplattennutzung jedoch viel geringer, als es scheint. Zur Veranschaulichung können wir den Befehl du verwenden, um die unkorrigierte (pro Umgebung) und korrigierte (fest verknüpfte) Speicherplatznutzung zu untersuchen:
# Uncorrected $ for d in envs/*; do du -sh $d; done # Corrected $ du -sh envs/*
Die Ausgabe zeigt, dass ein großer Teil des Speicherplatzes eingespart wird.
Freigegebene Pakete
Die meisten Hardlinks verweisen auf das pkgs-Verzeichnis, in dem freigegebene Pakete gespeichert sind. Dieser gemeinsame Speicherort reduziert Duplikate und minimiert die Größe einzelner Umgebungen. Die Einbeziehung des pkgs-Verzeichnisses in die Analyse zeigt, dass die Umgebungen selbst relativ klein sind:
$ du -sh pkgs envs/*
Fazit
Der Hardlinking-Mechanismus von Conda reduziert effektiv den von Paketen und Paketen verbrauchten Speicherplatz Umgebungen. Während der isolierte Installationsansatz auf den ersten Blick ineffizient erscheinen mag, bietet er hinter den Kulissen erhebliche platzsparende Vorteile.
Das obige ist der detaillierte Inhalt vonWarum werden Pakete lokal installiert und nicht zentral verknüpft?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!