Conda 仅针对 env 设置 LD_LIBRARY_PATH
Conda set LD_LIBRARY_PATH for env only
我安装了 miniconda3,我在其中创建了一个名为 py35 的虚拟环境。我有一些我只想在此环境中使用的库。因此他们在
/.../miniconda3/envs/py35/libs
但是在环境中找不到它们,因为 LD_LIBRARY_PATH 不包含所述文件夹。我现在想设置 LD_LIBRARY_PATH 仅当我在虚拟环境中时才包含 /lib。
我正在考虑修改 miniconda 用于启动环境的激活脚本,但不太确定这是否是标准做法,或者是否有更简单的方法来实现此目的。
您可以在通过编辑 activate.d/env_vars.sh
脚本激活环境时设置环境变量。看这里:https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux
link 的关键部分是:
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 run conda deactivate
, those variables are
erased.
我只是想补充一点,您可以在 activate.d/env_vars.sh 中声明 2 个变量,这样可以更轻松地将变量重置为 pre-activation 状态:
export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/your/path:${LD_LIBRARY_PATH}
然后在deactivate.d/env_vars.sh:
export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}
unset OLD_LD_LIBRARY_PATH
我安装了 miniconda3,我在其中创建了一个名为 py35 的虚拟环境。我有一些我只想在此环境中使用的库。因此他们在
/.../miniconda3/envs/py35/libs
但是在环境中找不到它们,因为 LD_LIBRARY_PATH 不包含所述文件夹。我现在想设置 LD_LIBRARY_PATH 仅当我在虚拟环境中时才包含 /lib。
我正在考虑修改 miniconda 用于启动环境的激活脚本,但不太确定这是否是标准做法,或者是否有更简单的方法来实现此目的。
您可以在通过编辑 activate.d/env_vars.sh
脚本激活环境时设置环境变量。看这里:https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux
link 的关键部分是:
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.
我只是想补充一点,您可以在 activate.d/env_vars.sh 中声明 2 个变量,这样可以更轻松地将变量重置为 pre-activation 状态:
export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/your/path:${LD_LIBRARY_PATH}
然后在deactivate.d/env_vars.sh:
export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}
unset OLD_LD_LIBRARY_PATH