J'ai expérimenté avec anaconda/miniconda parce que mes utilisateurs utilisent des programmes de biologie structurelle installés avec miniconda et aucun des auteurs A) ne tient compte du fait qu'il pourrait y avoir d'autres applications miniconda B) que leurs programmes seront utilisés dans un environnement multi-utilisateurs .
Donc, en utilisant Arch Linux, j'ai d'abord installé anaconda (version 4.5.12), puis en utilisant mon propre compte, j'ai créé quelques environnements de test:
conda create -n snakes
conda create -n sharks
J'ai ensuite (complètement) désinstallé anaconda et installé miniconda (également la version 4.5.12), puis j'ai créé un autre environnement dans un emplacement non standard en tant que root:
# conda create -p /usr/local/miniconda/pyem
Voici où les choses deviennent étranges. Lorsque je liste les environnements en tant qu'utilisateur root, je vois non seulement celui par défaut et celui que je viens de créer, mais aussi ceux que j'ai créés précédemment en utilisant mon compte utilisateur!
[root@lizard /]# conda info --envs
# conda environments:
#
/home/cnsit/.conda/envs/sharks
/home/cnsit/.conda/envs/snakes
base * /opt/miniconda3
/usr/local/miniconda/pyem
(La commande conda-env list
Donne la même sortie.)
Donc, question: comment conda trouve-t-il des environnements créés par un autre utilisateur? De plus, lorsque tout le répertoire parent de l'instance d'origine de conda a été supprimé et remplacé par un dans un emplacement entièrement différent (donc pas le fichier local environment.txt pourrait être en train de cataloguer cela.
Le code de la commande info
est contenu dans la commande cli.main_info
module, et le code pertinent pour ce cas est ici . Cela importe la fonction de plus ici qui (entre autres) lit la valeur de configuration envs_dirs
. Vous pouvez connaître la valeur de cette valeur de configuration sur votre système en exécutant
conda config --show envs_dirs
Je m'attends à ce que cela vous montre les répertoires utilisateur des environnements en cours de recherche.