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
?
Jawaban:
Anda tidak perlu menyalin apa pun di mana pun.
Anda harus menambahkan perpustakaan atlas ke daftar lokasi yang
ld
akan dicari.Dalam direktori
/etc/ld.so.conf.d
Anda dapat menambahkan fileatlas-lib.conf
. File ini harus berisi direktorilibatlas.so.3gf
, yaitu/usr/lib/atlas-base
.Anda dapat melakukan ini dengan menjalankan
Akhirnya lari
untuk memperbarui
ld
sehingga mengetahui tentang file baru ini.Atau Anda dapat mengatur
LD_LIBRARY_PATH
untuk memasukkan path ke perpustakaan ketika Anda menjalankan dan itu harus tersedia dalam SciPy.sumber
sudo ldconfig
untuk membuatnya aktifvirtualenv
, bagaimana Anda melakukannya dalam kasus itu?virtualenv
adalah subjek yang sepenuhnya terpisah tetapi tanpa akses root Anda dapat mengaturLD_LIBRARY_PATH
dengan cara yang tepat yang disebutkan dalam jawaban.Bagi saya, menggunakan virtualenv,
export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}
di akhir.bashrc
file saya memperbaikinya.sumber