Py35という仮想環境を作成したminiconda3をインストールしています。この環境内からのみ使用したいライブラリがいくつかあります。したがって、彼らは下にあります
/.../miniconda3/envs/py35/libs
ただし、LD_LIBRARY_PATHには上記のフォルダーが含まれていないため、環境内からは見つかりません。ここで、仮想環境にいるときにのみ/ libを含めるようにLD_LIBRARY_PATHを設定します。
環境を起動するためにminicondaが使用するアクティベートスクリプトを変更することを考えていましたが、これが標準的なプラクティスであるか、またはこれを実現する簡単な方法があるかはわかりません。
activate.d/env_vars.sh
スクリプトを編集して、環境がアクティブになったときに環境変数を設定できます。こちらをご覧ください: https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux
そのリンクの重要な部分は次のとおりです。
ターミナルウィンドウで、
/home/jsmith/anaconda3/envs/analytics
などのconda環境のディレクトリを見つけます。そのディレクトリに入り、これらのサブディレクトリとファイルを作成します。
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
source activate analytics
を実行すると、環境変数MY_KEYおよびMY_FILEは、ファイルに書き込んだ値に設定されます。source deactivate
を実行すると、これらの変数は消去されます。
Activate.d/env_vars.shで2つの変数を宣言できることを追加したいだけで、変数をアクティベーション前の状態にリセットしやすくなります。
export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/your/path:${LD_LIBRARY_PATH}
そしてdeactivate.d/env_vars.shで:
export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}
unset OLD_LD_LIBRARY_PATH