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.