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.