Comment créer un fichier d'environnement anaconda qui pourrait être utilisé sur d'autres ordinateurs?
J'ai exporté mon environnement anaconda python au format YML à l'aide de conda env export > environment.yml
. Le environment.yml
exporté contient cette ligne prefix: /home/superdev/miniconda3/envs/juicyenv
qui correspond à l'emplacement de mon anaconda qui sera différent sur les autres ordinateurs.
Je ne trouve rien dans les spécifications conda
qui vous permettent d'exporter un fichier d'environnement sans la ligne prefix: ...
. Cependant, comme Alex a souligné dans les commentaires, conda ne semble pas se soucier de la ligne de préfixe lors de la création d'un environnement à partir d'un fichier.
Dans cet esprit, si vous souhaitez que l'autre utilisateur ne connaisse pas votre chemin d'installation par défaut, vous pouvez supprimer la ligne de préfixe avec grep
avant d'écrire dans environment.yml
.
conda env export | grep -v "^prefix: " > environment.yml
Dans les deux cas, l'autre utilisateur exécute alors:
conda env create -f environment.yml
et l'environnement sera installé dans leur chemin par défaut conda environment.
Si vous souhaitez spécifier un chemin d'installation différent de celui par défaut pour votre système (non lié au préfixe dans le fichier environment.yml), utilisez simplement l'indicateur -p
suivi du chemin requis.
conda env create -f environment.yml -p /home/user/anaconda3/envs/env_name
Le moyen le plus simple de sauvegarder les packages d'un environnement à installer sur un autre ordinateur est:
$ conda list -e > req.txt
alors vous pouvez installer l'environnement en utilisant
$ conda create -n new environment --file req.txt
si vous utilisez pip
, veuillez utiliser les commandes suivantes: reference https://pip.pypa.io/fr/stable/reference/pip_freeze/
$ env1/bin/pip freeze > requirements.txt
$ env2/bin/pip install -r requirements.txt