温馨提示:本文翻译自stackoverflow.com,查看原文请点击:python - Conda set LD_LIBRARY_PATH for env only
Anaconda conda python virtualenv

python - Conda仅将env设置为LD_LIBRARY_PATH

发布于 2020-03-31 23:34:59

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

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

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

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

查看更多

提问者
FlyingTeller
被浏览
190
32.9k 2019-09-19 06:55

您可以在环境激活时通过编辑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,这些变量将被删除。