Ubuntu 12.04 64ビットをインストールしました。 pythonとscipyを使用する必要があります。それらをインストールし、テストを実行すると、次のようになります。
python -c "import scipy; scipy.test()"
メッセージが表示されます:
ImportError:libatlas.so.3gf:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません
ただし、/usr/lib/atlas-base
ディレクトリにlibatlasライブラリがインストールされています。 /usr/lib
の直下にファイルをコピーできることはわかっていますが、usr/lib/atlas-base
のライブラリを使用するようにscipyを設定するにはどうすればよいですか?
どこにも何もコピーする必要はありません。
ld
が検索する場所のリストにアトラスライブラリを追加する必要があります。
ディレクトリ/etc/ld.so.conf.d
に、ファイルatlas-lib.conf
を追加できます。このファイルには、libatlas.so.3gf
のディレクトリが含まれている必要があります。これは/usr/lib/atlas-base
です。
あなたは実行することによってこれを行うことができます
echo "/usr/lib/atlas-base" | Sudo tee /etc/ld.so.conf.d/atlas-lib.conf
最後に実行します
Sudo ldconfig
ld
を更新して、この新しいファイルを認識できるようにします。
または、実行時にライブラリへのパスを含めるようにLD_LIBRARY_PATH
を設定すると、SciPy内で使用できるようになります。
私にとっては、virtualenvを使用して、export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}
ファイルの最後の.bashrc
で修正しました。