Menginstal SciPy dan NumPy menggunakan pip

157

Saya mencoba membuat perpustakaan yang diperlukan dalam sebuah paket yang saya bagikan. Itu membutuhkan perpustakaan SciPy dan NumPy . Saat mengembangkan, saya menginstal keduanya menggunakan

apt-get install scipy

yang menginstal SciPy 0.9.0 dan NumPy 1.5.1, dan bekerja dengan baik.

Saya ingin melakukan hal yang sama dengan menggunakan pip install- agar dapat menentukan dependensi dalam setup.py dari paket saya sendiri.

Masalahnya adalah, ketika saya mencoba:

pip install 'numpy==1.5.1'

ini bekerja dengan baik.

Tapi kemudian

pip install 'scipy==0.9.0'

gagal total, dengan

raise self.notfounderror(self.notfounderror.__doc__)

numpy.distutils.system_info.BlasNotFoundError:

Blas (http://www.netlib.org/blas/) libraries not found.

Directories to search for the libraries can be specified in the

numpy/distutils/site.cfg file (section [blas]) or by setting

the BLAS environment variable.

Bagaimana saya membuatnya bekerja?

eran
sumber
Hmm, Apakah Anda yakin pip berfungsi baik dengan numpy=1.5.1bukan numpy==1.5.1(sama dengan ganda)?
Hugo Tavares
Saya menggunakan double sama dengan, itu salah ketik. Saya baru saja mengetiknya di sini alih-alih copy paste :)
eran
5
Terlepas dari blas dan lapack Anda perlu menginstal blas-develdan lapack-devel. Ini tidak ditentukan dalam dokumen, tetapi harus dilakukan jika Anda ingin menginstal menggunakan PIP.
Iñigo Hernáez Corres
@ IñigoHernáezCorres (blas-devel dan lapack-devel) juga YUMable, saya sudah pelajari, bagi kita di amazon-linux.
Tommy
stackoverflow.com/questions/7496547/does-python-scipy-need-blas memiliki 2 langkah secara berurutan
mhn

Jawaban:

34

Saya mengasumsikan pengalaman Linux dalam jawaban saya; Saya menemukan bahwa ada tiga prasyarat pip install scipyuntuk melanjutkan dengan baik.

Buka di sini: Menginstal SciPY

Ikuti instruksi untuk mengunduh, membangun, dan mengekspor variabel env untuk BLAS dan kemudian LAPACK . Berhati-hatilah untuk tidak hanya membabi buta cut'n'paste perintah shell - akan ada beberapa baris yang perlu Anda pilih tergantung pada arsitektur Anda, dll., Dan Anda harus memperbaiki / menambahkan direktori yang benar yang secara salah diasumsikan sebagai baik.

Hal ketiga yang Anda butuhkan adalah menginstal yump-f2py atau yang setara.

Oh, ya dan terakhir, Anda mungkin perlu menginstal yum gcc-gfortran karena pustaka di atas adalah sumber Fortran .

David Kierans
sumber
instruksi yang Anda tautkan dalam Menginstal SciPy telah dihapus, mungkin menghubungkan di sini sekarang scipy.org/scipylib/building/windows.html
jxramos
30
-1; jawaban ini telah dianggap tidak berguna oleh kerusakan tautan. Daging jawabannya adalah "ikuti petunjuk" di tautan, tetapi laman telah berubah dan tidak ada lagi di sana. Selain itu, penanya menggunakan OS dengan apt-getsebagai manajer paketnya, tetapi jawaban ini digunakan yum. Tidak ada yang salah dengan memberikan jawaban yang mencakup platform tambahan, tetapi harus diberi rambu-rambu seperti itu; ini akan membingungkan Unix noobs sebaliknya.
Mark Amery
5
Untuk menginstal BLAS dan LAPACK, Anda perlu menjalankanyum install lapack-devel.x86_64 blas-devel.x86_64
Max L
331

Ini bekerja untuk saya di Ubuntu 14.04:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
pip install scipy
vk1011
sumber
4
Menginstal libblas-dev liblapack-devdiselesaikan blastetapi kemudian saya error: library dfftpack has Fortran sources but no Fortran compiler foundjadi saya perlu semua ini untuk dapat menginstal scipy. Terima kasih.
naoko
6
Saya baru saja menginstal libblas-dev liblapack-dev gfortran, ini berfungsi untuk saya di Ubuntu14.04
Jin
libblas adalah alasan dengan kesalahan - tidak ditemukan sumber daya lapack / blas
Oleg Abrazhaev
1
Amin untuk jawaban yang tidak diterima yang berfungsi lebih baik daripada yang diterima.
Felipe
untuk yum: yum instal blas-devel lapack-devel atlas-devel gcc-gfortran
Alec McGail
76

Anda membutuhkan paket dev libblas dan liblapack jika Anda menggunakan Ubuntu.

aptitude install libblas-dev liblapack-dev
pip install scipy
Chris Montanaro
sumber
13

Karena instruksi sebelumnya untuk menginstal dengan yum rusak di sini adalah instruksi terbaru untuk menginstal pada sesuatu seperti fedora. Saya sudah menguji ini di "Amazon Linux AMI 2016.03"

sudo yum install atlas-devel lapack-devel blas-devel libgfortran
pip install scipy
Greg
sumber
6

Saya sedang mengerjakan sebuah proyek yang bergantung pada numpy dan scipy. Dalam instalasi bersih Fedora 23, menggunakan lingkungan virtual python untuk Python 3.4 (juga bekerja untuk Python 2.7), dan dengan yang berikut ini di setup.py saya (dalam setup()metode)

setup_requires=[
    'numpy',
],
install_requires=[
    'numpy',
    'scipy',
],

Saya menemukan saya harus menjalankan yang berikut ini untuk mulai pip install -e .bekerja:

pip install --upgrade pip

dan

sudo dnf install atlas-devel gcc-{c++,gfortran} subversion redhat-rpm-config

The redhat-rpm-configuntuk digunakan scipy tentang redhat-hardened-cc1yang bertentangan dengan biasacc1

Johann
sumber
3

Di windows python 3.5 , saya berhasil menginstal scipydengan conda tidak pip :

conda install scipy
HUBUNGI19
sumber
2

Sistem operasi apa ini? Jawabannya mungkin tergantung pada OS yang terlibat. Namun, sepertinya Anda perlu menemukan perpustakaan BLAS ini dan menginstalnya. Tampaknya tidak berada di PIP (Anda harus melakukannya dengan tangan demikian), tetapi jika Anda menginstalnya, itu harus membiarkan Anda meningkatkan instalasi SciPy Anda.

Shayne
sumber
Ini ubuntu 11.10. Saya mencoba, itulah masalah saya. Apa perpustakaan itu dan bagaimana cara mendapatkannya?
eran
25
Di Ubuntu, Anda dapat melakukan mis sudo apt-get install liblapack-dev libatlas-devplus plus mungkin juga python-dev gfortranjika Anda melewatkannya.
pv.
2
Saya tidak membuat posting itu! Apa apaan?
Shayne
0

dalam kasus saya, meningkatkan pip melakukan trik. Juga, saya telah menginstal scipy dengan parameter -U (upgrade semua paket ke versi terakhir yang tersedia)

penggemar
sumber