Comment puis-je créer un fichier d'environnement anaconda qui pourrait être utilisé sur d'autres ordinateurs?
J'ai exporté mon environnement python anaconda vers YML en utilisant conda env export > environment.yml
. L'exporté environment.yml
contient cette ligne prefix: /home/superdev/miniconda3/envs/juicyenv
qui correspond à l'emplacement de mon anaconda qui sera différent sur les autres ordinateurs.
conda env create -f environment.yml
En passant, d'après mon expérience, cela ne fonctionnera pas sur toutes les plates-formes, car conda env listera de nombreuses dépendances telles que `vs2015_runtime` si vous êtes sous Windows. Mais bien sûr, ce n'est pas disponible sur Linux.environment.yml
fichier à la main, vous pouvez donc le laisser de côté - voir stackoverflow.com/questions/39280638/…Réponses:
Je ne trouve rien dans les
conda
spécifications qui vous permette d'exporter un fichier d'environnement sans laprefix: ...
ligne. Cependant, comme Alex l'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 n'ait aucune connaissance de votre chemin d'installation par défaut, vous pouvez supprimer la ligne de préfixe avec
grep
avant d'écrire dansenvironment.yml
.Dans tous les cas, l'autre utilisateur exécute alors:
et l'environnement sera installé dans leur chemin d'environnement conda par défaut.
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 l'environnement.yml), utilisez simplement l'
-p
indicateur suivi du chemin requis.Notez que Conda recommande de créer le
environment.yml
à la main, ce qui est particulièrement important si vous souhaitez partager votre environnement sur plusieurs plates-formes (Windows / Linux / Mac). Dans ce cas, vous pouvez simplement omettre laprefix
ligne.la source
Le moyen le plus simple d'enregistrer les packages d'un environnement à installer sur un autre ordinateur est:
alors vous pouvez installer l'environnement en utilisant
si vous utilisez
pip
, veuillez utiliser les commandes suivantes: référence https://pip.pypa.io/en/stable/reference/pip_freeze/la source
Linux
les fenêtres
Justification: Par défaut,
conda env export
inclut les informations de construction:Vous pouvez à la place exporter votre environnement sans informations de build:
Ce qui délie l'environnement de la version Python et du système d'exploitation.
la source
Je trouve qu'exporter les paquets uniquement au format chaîne est plus portable que d'exporter tout l'
conda
environnement. Comme la réponse précédente l'a déjà suggéré:Cependant, il
requirements.txt
contient des numéros de build qui ne sont pas portables entre les systèmes d'exploitation, par exemple entreMac
etUbuntu
. Dansconda env export
nous avons l'option--no-builds
mais pas avecconda list -e
, donc nous pouvons supprimer le numéro de build en émettant la commande suivante:Et recréez l'environnement sur un autre ordinateur:
la source
sed
la commande fonctionnait plutôt bien. J'ai dû supprimer une version de patch. Donc ,major.minor.patch
pourmajor.minor
et cela a fonctionné. Il s'avère que le numéro de patch le plus bas avait été supprimé par les dépôts principaux.la source