2015-07-23 1 views

Répondre

22

Utilisez les fichiers $PREFIX/etc/conda/activate.d et $PREFIX/etc/conda/deactivate.d, où $PREFIX est le chemin vers l'environnement.

+5

Merci! J'ai créé le dossier $ PREFIX/etc/conda/activate.d, mis env_vars.sh à l'intérieur et spécifié quelques variables env dans env_vars.sh. Les variables d'environnement spécifiées sont chargées lors de l'activation. – PythonRunner

+3

Existe-t-il une solution similaire pour Windows? – Paul

+1

@PythonRunner Merci, c'était tout! Voir [ici] (http://conda.pydata.org/docs/using/envs.html#saved-environment-variables) pour ces instructions. –

1

La réponse acceptée (conda/activate.d et conda/deactivate.d) fonctionne assez bien, mais il est peu pratique si vous voulez que les variables d'environnement à la version contrôlée sans mettre tout l'environnement dans le contrôle de version aussi. Généralement, vous souhaitez stocker uniquement le fichier environment.yml dans le contrôle de version.

(Je comprends que cela ne vaut pas à tous les projets - parfois toute la raison d'utiliser des variables d'environnement est de éviter cette configuration particulière se stockée dans le contrôle de version.)

Ma préférence (sous Windows, mais le même principe s'appliquera sous Linux) est de créer un fichier (version contrôlée) activate.cmd à la racine du répertoire du projet qui définit la ou les variables environnantes, puis appelle le script activate.bat de conda.

Exemple (un par projet configuration pylint):

set PYLINTRC=%cd%\pylintrc 
@activate.bat %cd%\env 

Notez que sous Windows au moins, vous devez définir les variables d'environnement avant appeler activate.bat parce que l'appel à activate.bat ne retourne jamais au lot d'appel fichier. Vous devez également nommer votre propre script autre chose que activate.bat pour éviter la récursion, c'est pourquoi j'ai choisi l'extension cmd (qui est traitée par Windows comme un fichier batch dans ce contexte).