Conda set LD_LIBRARY_PATH for env only
You can set environment variables when an environment is activated by editing the activate.d/env_vars.sh
script. See here: https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux
The key portions from that link are:
Locate the directory for the conda environment in your Terminal window, such as
/home/jsmith/anaconda3/envs/analytics
.Enter that directory and create these subdirectories and files:
cd /home/jsmith/anaconda3/envs/analytics mkdir -p ./etc/conda/activate.d mkdir -p ./etc/conda/deactivate.d touch ./etc/conda/activate.d/env_vars.sh touch ./etc/conda/deactivate.d/env_vars.sh
Edit
./etc/conda/activate.d/env_vars.sh
as follows:#!/bin/sh export MY_KEY='secret-key-value' export MY_FILE=/path/to/my/file/
Edit
./etc/conda/deactivate.d/env_vars.sh
as follows::#!/bin/sh unset MY_KEY unset MY_FILE
When you run
conda activate analytics
, the environment variables MY_KEY and MY_FILE are set to the values you wrote into the file. When you runconda deactivate
, those variables are erased.
I just wanted to add that you could declare 2 variables in the activate.d/env_vars.sh like, it makes it easier to reset the variable to the pre-activation state:
export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/your/path:${LD_LIBRARY_PATH}
and then in deactivate.d/env_vars.sh:
export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}
unset OLD_LD_LIBRARY_PATH