web-dev-qa-db-fra.com

Les packages peuvent-ils être partagés entre les environnements Anaconda?

Ma ~/anaconda le répertoire prend trop d'espace disque (10 Go), même si je n'ai que cinq environnements et que j'ai exécuté conda clean. J'ai découvert que lorsque j'essaie de créer un nouvel environnement conda, Anaconda affiche une très longue liste de packages à télécharger, qui semble inclure une pile scientifique complète Python pile (interprète Python, numpy, scipy , etc.). Il semble qu'Anaconda installe tout indépendamment pour chaque environnement. Est-ce vrai?

La liste suivante contient des moyens purement spéculatifs qui pourraient potentiellement résoudre le problème d'espace:

  • Puis-je créer un "sous-environnement" qui "hérite" des packages d'un "environnement parent"?
  • Peut-on faire en sorte qu'Anaconda partage (par exemple via des liens symboliques sur le système de fichiers) les mêmes packages utilisés dans différents environnements?
  • L'environnement par défaut a-t-il un statut spécial en termes de gestion des packages? J'utilise Anaconda 2, mais la plupart de mes environnements utilisent Python 3. Puis-je économiser de l'espace en passant à Anaconda 3? (Ceci concerne l'environnement par défaut comme "environnement parent" de tous les autres environnements) .)
  • J'utilise normalement pip pour installer les packages, comme conda install échoue souvent. Est-ce que conda install faire un travail intelligent pour réutiliser des packages déjà installés ailleurs?

(Informations de débogage) Les tailles de mes quatre répertoires d'environnement sous ~/anaconda/envs se situent entre 1,2 Go et 2,6 Go. Est-ce normal?

22
user31039

Pour créer des environnements qui "héritent" des packages:
Vous pouvez exporter/importer les noms des packages utilisés avec un fichier yaml.
Ou utilisez le --clone drapeau.
Voir cette réponse .

1
6ry0u