2015-07-23 8 views

risposta

22

Utilizzare i file $PREFIX/etc/conda/activate.d e $PREFIX/etc/conda/deactivate.d, dove $PREFIX è il percorso per l'ambiente.

+5

Grazie! Ho creato la cartella $ PREFIX/etc/conda/activate.d, metto env_vars.sh al suo interno e specificato alcune variabili env in env_vars.sh. I vv specificati caricati all'attivazione. – PythonRunner

+3

Esiste una soluzione simile per Windows? – Paul

+1

@PythonRunner Grazie, è stato! Vedi [here] (http://conda.pydata.org/docs/using/envs.html#saved-environment-variables) per queste istruzioni. –

1

La risposta accettata (conda/activate.d e conda/deactivate.d) funziona abbastanza bene, ma è scomodo se si desidera che le variabili di ambiente per essere la versione controllati senza mettere l'ambiente intera in controllo di versione troppo. In genere si desidera archiviare solo il file environment.yml nel controllo della versione.

(Capisco che questo non si applica a tutti i progetti - a volte l'intera ragione per l'utilizzo delle variabili di ambiente è quello di evitare quella particolare configurazione sempre conservato nel controllo della versione.)

La mia preferenza (su Windows, ma lo stesso principio si applica a Linux) è quello di creare un file activate.cmd (versione controllata) nella directory principale della directory del progetto che imposta le variabili environmnt e quindi chiama lo script activate.bat proprio di conda.

Esempio (una configurazione pylint per-progetto):

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

Nota che su Windows, almeno è necessario impostare le variabili di ambiente prima chiamare activate.bat perché la chiamata a activate.bat non torna mai al batch chiamante file. Devi anche nominare un tuo script diverso da activate.bat per evitare la ricorsione, motivo per cui ho scelto l'estensione cmd (che in questo contesto è considerata Windows come un file batch).

Problemi correlati