Qualcuno sa come impostare automaticamente le variabili di ambiente quando si attiva un env in conda? Ho provato a modificare */bin/activate, ma questo aggiunge le nuove variabili di ambiente per ogni nuovo env che viene creato. Voglio impostare le variabili env specifiche per ogni ambiente.Come impostare variabili d'ambiente specifiche quando si attiva l'ambiente conda?
risposta
Utilizzare i file $PREFIX/etc/conda/activate.d
e $PREFIX/etc/conda/deactivate.d
, dove $PREFIX
è il percorso per l'ambiente.
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).
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
Esiste una soluzione simile per Windows? – Paul
@PythonRunner Grazie, è stato! Vedi [here] (http://conda.pydata.org/docs/using/envs.html#saved-environment-variables) per queste istruzioni. –