一尘不染

Conda仅将env设置为LD_LIBRARY_PATH

python

我安装了miniconda3,并在其中创建了一个名为py35的虚拟环境。我有一些我只想在此环境中使用的库。因此他们在

 /.../miniconda3/envs/py35/libs

但是,由于LD_LIBRARY_PATH不包含上述文件夹,因此无法从环境中找到它们。现在,我想将LD_LIBRARY_PATH设置为仅在虚拟环境中时才包含/
lib。

我当时正在考虑修改miniconda用来启动环境的激活脚本,但是不确定这是标准做法还是有更简单的方法来实现。


阅读 179

收藏
2020-12-20

共1个答案

一尘不染

您可以在环境激活时通过编辑activate.d/env_vars.sh脚本来设置环境变量。参见此处:https : //conda.io/docs/user-
guide/tasks/manage-environments.html#macos-and-
linux

该链接的关键部分是:

  1. 在“终端”窗口中找到conda环境的目录,例如/home/jsmith/anaconda3/envs/analytics

  2. 输入该目录并创建以下子目录和文件:

    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

  3. 编辑./etc/conda/activate.d/env_vars.sh如下:

    #!/bin/sh
    

    export MY_KEY=’secret-key-value’
    export MY_FILE=/path/to/my/file/

  4. 编辑./etc/conda/deactivate.d/env_vars.sh如下:

    #!/bin/sh
    

    unset MY_KEY
    unset MY_FILE

运行时conda activate analytics,环境变量MY_KEY和MY_FILE设置为您写入文件中的值。运行时conda deactivate,这些变量将被擦除。

2020-12-20