2017-10-19 253 views
3

我有一個安裝了miniconda3的地方,我創建了一個名爲py35的虛擬環境。我有一些我只想在這個環境中使用的庫。因此他們在Conda僅爲env設置LD_LIBRARY_PATH

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

然而,它們沒有從環境中找到,因爲LD_LIBRARY_PATH不包含所述文件夾。我現在要設置LD_LIBRARY_PATH以僅在我處於虛擬環境中時包含/ lib。

我在考慮修改miniconda用來啓動環境的激活腳本,但我不太確定這是標準做法還是有更簡單的方法來實現這一點。

+0

的可能的複製[創建康達後激活腳本(https://stackoverflow.com/questions/34606196/create-a-post-activate-script-in-conda) – darthbith

回答

2

您可以通過編輯activate.d/env_vars.sh腳本來激活環境時設置環境變量。在這裏看到:https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux

從該鏈接的關鍵部分是:

  1. 找到爲暢達環境的目錄在終端 窗口,如/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 
    

當您運行source activate analytics時,變量MY_KEY和MY_FILE的環境變量 被設置爲您寫入 該文件的值。當您運行source deactivate時,這些變量是 已擦除。

+1

正是我一直在尋找對於。謝謝。自從我向LD_LIBRARY_PATH添加一些內容後,只做了小改動,我無法使用未設置。相反,我會在停用腳本中輸出LD_LIBRARY_PATH = $ {LD_LIBRARY_PATH /'PATH_I_ADDED' /「」}' – FlyingTeller