Atlas'ı scipy'den kullanma


13

Ubuntu 12.04 64 bit'i kurdum. Python ve scipy ile çalışmam gerekiyor, onları kurdum ve testi çalıştırdığımda:

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

Mesajı alıyorum:

ImportError: libatlas.so.3gf: paylaşılan nesne dosyasını açamıyor: Böyle bir dosya veya dizin yok

Ancak, dizin altında yüklü libatlas kütüphaneleri var /usr/lib/atlas-base. Dosyaları doğrudan altına kopyalayabileceğimi biliyorum /usr/lib, ama kütüphaneleri kullanmak için scipy'yi nasıl kurabilirim usr/lib/atlas-base?


Lütfen yayını geçmeyin.
Karlson

Tamam, şimdi kaldırıldı.
lmsasu

Yanıtlar:


19

Hiçbir şeyi kopyalamak zorunda değilsiniz.

Atlas kütüphanelerini ldarayacağınız konumlar listesine eklemelisiniz .

Dizine /etc/ld.so.conf.ddosyayı ekleyebilirsiniz atlas-lib.conf. Bu dosya dizinini içermelidir libatlas.so.3gfolduğunu /usr/lib/atlas-base.

Bunu çalıştırarak yapabilirsiniz

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

Sonunda koş

sudo ldconfig

ldyeni dosya hakkında bilgi sahibi olacak şekilde güncelleyin .

Alternatif LD_LIBRARY_PATHolarak, çalıştırdığınızda kütüphanenin yolunu içerecek şekilde ayarlayabilirsiniz ve SciPy içinde mevcut olmalıdır.


Atlas-lib.conf'un yardımcı olup olmadığından emin değilim, ancak LD_LIBRARY_PATH hile yaptı.
lmsasu

1
@lmsasu Bu dosyayı oluşturduğunuzda sudo ldconfigaktif hale getirmek için çalıştırmanız gerekecek
Karlson

Kök erişiminiz yoksa, en iyi yaklaşım hangisidir? Eğer bunu virtualenvyaparsan, bu durumda nasıl yapardın?
Albert

1
@Albert Kullanma virtualenvtamamen ayrı bir konudur, ancak kök erişimi olmadan LD_LIBRARY_PATHyanıtta belirtilen uygun bir şekilde ayarlayabilirsiniz .
Karlson

Bu tür şeyler numpy / scipy veya libatlas-dev paketleri ile ele alınmalı, değil mi? Sistem numpy 1.9.1'in iyi çalıştığı ilginç bir durum var, ancak bir sanal ortamdaki numpy 1.9.2 bu sorunu gösteriyor. Her neyse, çözümünüz düzeltildi. Teşekkür.
drevicko

1

Benim için, bir sanalenv kullanarak, dosyamın export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}sonunda .bashrcdüzeltildi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.