我安装了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
activate.d/env_vars.sh
该链接的关键部分是:
在“终端”窗口中找到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 运行时conda activate analytics,环境变量MY_KEY和MY_FILE设置为您写入文件中的值。运行时conda deactivate,这些变量将被擦除。
在“终端”窗口中找到conda环境的目录,例如/home/jsmith/anaconda3/envs/analytics。
/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
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如下:
./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如下:
./etc/conda/deactivate.d/env_vars.sh
unset MY_KEY unset MY_FILE
运行时conda activate analytics,环境变量MY_KEY和MY_FILE设置为您写入文件中的值。运行时conda deactivate,这些变量将被擦除。
conda activate analytics
conda deactivate