Maison >développement back-end >Tutoriel Python >Pourquoi les packages sont-ils installés localement au lieu d'être liés de manière centralisée ?

Pourquoi les packages sont-ils installés localement au lieu d'être liés de manière centralisée ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-24 08:11:30517parcourir

Why Are Packages Installed Locally Instead of Linked Centrally?

Pourquoi les packages sont-ils installés localement au lieu d'être liés de manière centralisée ?

Conda et d'autres gestionnaires de packages installent généralement des packages dans des environnements isolés. Les utilisateurs peuvent se demander pourquoi les packages ne sont pas simplement liés à un emplacement central, étant donné que conda met en cache les packages téléchargés.

Le mécanisme de liaison matérielle de Conda

En fait, conda l'utilise déjà stratégie. Les packages Conda sont installés dans des répertoires liés en dur, ce qui signifie que plusieurs répertoires semblent contenir des copies uniques des packages, mais partagent en réalité les mêmes données sous-jacentes.

Gains d'espace

A L’idée fausse la plus répandue est que chaque environnement consomme une quantité importante d’espace. Cependant, en raison du mécanisme de liaison matérielle, l'utilisation réelle du disque est bien inférieure à ce qu'elle paraît. Pour le démontrer, nous pouvons utiliser la commande du pour examiner l'utilisation de l'espace non corrigée (par environnement) et corrigée (liée en dur) :

# Uncorrected
$ for d in envs/*; do du -sh $d; done

# Corrected
$ du -sh envs/*

La sortie montre qu'une grande partie de l'espace est enregistrée.

Packages partagés

La majorité des liens physiques pointent vers le répertoire pkgs, où sont stockés les packages partagés. Cet emplacement partagé réduit la duplication et minimise la taille des environnements individuels. L'inclusion du répertoire pkgs dans l'analyse révèle que les environnements eux-mêmes sont relativement petits :

$ du -sh pkgs envs/*

Conclusion

Le mécanisme de liaison matérielle de Conda réduit efficacement l'espace disque consommé par les packages et environnements. Bien que l'approche d'installation isolée puisse sembler inefficace à première vue, elle offre des avantages significatifs en matière d'économie d'espace en coulisses.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn