web-dev-qa-db-ja.com

scipyのAtlasを使用する

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を設定するにはどうすればよいですか?

13
lmsasu

どこにも何もコピーする必要はありません。

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内で使用できるようになります。

19
Karlson

私にとっては、virtualenvを使用して、export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}ファイルの最後の.bashrcで修正しました。

1
Sealander