我安装了miniconda3,我创建了一个名为py35的虚拟环境。我有一些我只想在这个环境中使用的库。因此他们在
之下 /.../miniconda3/envs/py35/libs
但是,由于LD_LIBRARY_PATH不包含所述文件夹,因此无法在环境中找到它们。我现在只想在我处于虚拟环境中时将LD_LIBRARY_PATH设置为包含/ lib。
我正在考虑修改miniconda用于启动环境的激活脚本,但我不太确定这是否是标准做法,或者是否有更简单的方法来实现这一目标。
答案 0 :(得分:27)
通过编辑activate.d/env_vars.sh
脚本,可以在激活环境时设置环境变量。见这里:https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux
该链接的关键部分是:
在终端中找到conda环境的目录 窗口,例如
/home/jsmith/anaconda3/envs/analytics
。输入该目录并创建这些子目录 文件:
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
按如下方式修改
./etc/conda/activate.d/env_vars.sh
:#!/bin/sh export MY_KEY='secret-key-value' export MY_FILE=/path/to/my/file/
- 醇>
编辑
./etc/conda/deactivate.d/env_vars.sh
,如下所示::#!/bin/sh unset MY_KEY unset MY_FILE
运行
source activate analytics
时,环境 变量MY_KEY和MY_FILE设置为您写入的值 文件。运行source deactivate
时,这些变量是 擦除。
答案 1 :(得分:18)
我只是想补充一点,你可以在activate.d / env_vars.sh中声明2个变量,这样可以更容易地将变量重置为预激活状态:
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