Conda set LD_LIBRARY_PATH for env only

前端 未结 2 433
迷失自我
迷失自我 2020-11-28 09:06

I have an installation of miniconda3 where I have created a virtual environment called py35. I have some libraries that I only want to use from within this environment. henc

相关标签:
2条回答
  • 2020-11-28 09:32

    I just wanted to add that you could declare 2 variables in the activate.d/env_vars.sh like, it makes it easier to reset the variable to the pre-activation state:

    export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH=/your/path:${LD_LIBRARY_PATH}
    

    and then in deactivate.d/env_vars.sh:

    export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}
    unset OLD_LD_LIBRARY_PATH
    
    0 讨论(0)
  • 2020-11-28 09:33

    You can set environment variables when an environment is activated by editing the activate.d/env_vars.sh script. See here: https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux

    The key portions from that link are:

    1. Locate the directory for the conda environment in your Terminal window, such as /home/jsmith/anaconda3/envs/analytics.

    2. 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
      
    3. 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/
      
    4. 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.

    0 讨论(0)
提交回复
热议问题