Menggunakan Atlas dari cipy


13

Saya menginstal Ubuntu 12,04 bit. Saya perlu bekerja dengan python dan scipy, saya menginstalnya dan ketika saya menjalankan tes:

python -c "import scipy; scipy.test()"

Saya menerima pesan:

ImportError: libatlas.so.3gf: tidak dapat membuka file objek bersama: Tidak ada file atau direktori tersebut

Namun, saya memiliki perpustakaan libatlas diinstal di bawah direktori /usr/lib/atlas-base. Saya tahu saya bisa menyalin file langsung di bawah /usr/lib, tapi saya bertanya-tanya bagaimana saya bisa mengatur scipy untuk menggunakan perpustakaan dari usr/lib/atlas-base?


Tolong jangan melewati pos.
Karlson

Oke, hapus sekarang.
lmsasu

Jawaban:


19

Anda tidak perlu menyalin apa pun di mana pun.

Anda harus menambahkan perpustakaan atlas ke daftar lokasi yang ldakan dicari.

Dalam direktori /etc/ld.so.conf.dAnda dapat menambahkan file atlas-lib.conf. File ini harus berisi direktori libatlas.so.3gf, yaitu /usr/lib/atlas-base.

Anda dapat melakukan ini dengan menjalankan

echo "/usr/lib/atlas-base" | sudo tee /etc/ld.so.conf.d/atlas-lib.conf

Akhirnya lari

sudo ldconfig

untuk memperbarui ldsehingga mengetahui tentang file baru ini.

Atau Anda dapat mengatur LD_LIBRARY_PATHuntuk memasukkan path ke perpustakaan ketika Anda menjalankan dan itu harus tersedia dalam SciPy.


Saya tidak yakin apakah atlas-lib.conf bisa membantu, tetapi LD_LIBRARY_PATH yang membuatnya.
lmsasu

1
@ lmsasu Saat Anda membuat file itu, Anda harus menjalankannya sudo ldconfiguntuk membuatnya aktif
Karlson

Jika Anda tidak memiliki akses root, apa yang akan menjadi pendekatan terbaik? Jika Anda akan melakukannya dengan virtualenv, bagaimana Anda melakukannya dalam kasus itu?
Albert

1
@Albert Using virtualenvadalah subjek yang sepenuhnya terpisah tetapi tanpa akses root Anda dapat mengatur LD_LIBRARY_PATHdengan cara yang tepat yang disebutkan dalam jawaban.
Karlson

Hal-hal semacam ini harus ditangani oleh paket numpy / scipy atau libatlas-dev, bukan? Saya memiliki situasi yang menarik di mana sistem numpy 1.9.1 berfungsi dengan baik, tetapi 1.9.2 numpy di virtualenv menunjukkan masalah ini. Bagaimanapun, solusi Anda memperbaikinya. Terima kasih.
drevicko

1

Bagi saya, menggunakan virtualenv, export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}di akhir .bashrcfile saya memperbaikinya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.