Cài đặt SciPy và NumPy bằng pip


157

Tôi đang cố gắng tạo các thư viện cần thiết trong một gói tôi đang phân phối. Nó đòi hỏi cả thư viện SciPyNumPy . Trong khi phát triển, tôi đã cài đặt cả hai bằng cách sử dụng

apt-get install scipy

đã cài đặt SciPy 0.9.0 và NumPy 1.5.1 và nó hoạt động tốt.

Tôi cũng muốn làm như vậy bằng cách sử dụng pip install- để có thể chỉ định các phụ thuộc trong một thiết lập gói của chính tôi.

Vấn đề là, khi tôi cố gắng:

pip install 'numpy==1.5.1'

nó hoạt động tốt.

Nhưng sau đó

pip install 'scipy==0.9.0'

thất bại thảm hại, với

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.

Làm thế nào để tôi làm cho nó hoạt động?


Hmm, bạn có chắc rằng pip hoạt động tốt với numpy=1.5.1thay vì numpy==1.5.1(bằng hai lần) không?
Hugo Tavares

Tôi đang sử dụng gấp đôi bằng, đó là một lỗi đánh máy. Tôi vừa gõ nó vào đây thay vì sao chép dán :)
eran

5
Ngoài blas và lapack bạn cần cài đặt blas-devellapack-devel. Điều này không được chỉ định trong tài liệu, nhưng phải được thực hiện nếu bạn muốn cài đặt bằng PIP.
Iñigo Hernáez Corres

@ IñigoHernáezCorres (blas-devel và lapack-devel) cũng YUMable, tôi đã học được, cho những người trong chúng ta trên amazon-linux.
Tommy

Câu trả lời:


34

Tôi giả sử kinh nghiệm Linux trong câu trả lời của tôi; Tôi thấy rằng có ba điều kiện tiên quyết pip install scipyđể tiến hành tốt đẹp.

Tới đây: Cài đặt SciPY

Làm theo các hướng dẫn để tải xuống, xây dựng và xuất biến env cho BLAS và sau đó LAPACK . Hãy cẩn thận để không chỉ cắt một cách mù quáng các lệnh shell - sẽ có một vài dòng bạn cần chọn tùy thuộc vào kiến ​​trúc của bạn, v.v., và bạn sẽ cần sửa / thêm các thư mục chính xác mà nó giả định không chính xác như tốt.

Điều thứ ba bạn có thể cần là cài đặt numpy-f2py hoặc tương đương.

Ồ, vâng và cuối cùng, bạn có thể cần phải cài đặt gcc-gfortran vì các thư viện ở trên là nguồn Fortran .


hướng dẫn mà bạn đã liên kết trong Cài đặt SciPy đã bị xóa, có thể liên kết tại đây ngay bây giờ scipy.org/scipylib/building/windows.html
jxramos

30
-1; câu trả lời này đã bị vô dụng bởi sự phá vỡ liên kết. Phần cốt lõi của câu trả lời là "làm theo hướng dẫn" tại liên kết, nhưng trang đã thay đổi và chúng không còn ở đó nữa. Ngoài ra, người hỏi đã sử dụng HĐH với apt-gettư cách là người quản lý gói, nhưng câu trả lời này sử dụng yum. Không có gì sai khi cung cấp câu trả lời bao gồm các nền tảng bổ sung, nhưng chúng phải được đăng nhập như vậy; điều này sẽ không cần thiết gây nhầm lẫn với Unix noobs nếu không.
Đánh dấu Amery

5
Để cài đặt BLAS và LAPACK, bạn cần chạyyum install lapack-devel.x86_64 blas-devel.x86_64
Max L

331

Điều này làm việc cho tôi trên Ubuntu 14.04:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
pip install scipy

4
Cài đặt đã libblas-dev liblapack-devđược giải quyết blasnhưng sau đó tôi đã nhận được error: library dfftpack has Fortran sources but no Fortran compiler foundvì vậy tôi cần tất cả những thứ này để có thể cài đặt scipy. Cảm ơn bạn.
naoko

6
Tôi chỉ cần cài đặt libblas-dev liblapack-dev gfortran, nó hoạt động với tôi trên Ubuntu14.04
Jin

libblas là lý do có lỗi - không tìm thấy tài nguyên lapack / blas
Oleg Abrazhaev

1
Amen cho câu trả lời không được chấp nhận hoạt động tốt hơn câu trả lời được chấp nhận.
Felipe Almeida

cho yum: yum cài đặt blas-devel lapack-devel atlas-devel gcc-gfortran
Alec McGail

76

bạn cần các gói dev libblas và liblapack nếu bạn đang sử dụng Ubuntu.

aptitude install libblas-dev liblapack-dev
pip install scipy

13

Vì các hướng dẫn trước đây để cài đặt với yum bị hỏng nên đây là các hướng dẫn được cập nhật để cài đặt trên một cái gì đó như fedora. Tôi đã thử nghiệm điều này trên "Amazon Linux AMI 2016.03"

sudo yum install atlas-devel lapack-devel blas-devel libgfortran
pip install scipy

6

Tôi đang làm việc trong một dự án phụ thuộc vào numpy và scipy. Trong bản cài đặt sạch Fedora 23, sử dụng môi trường ảo python cho Python 3.4 (cũng hoạt động cho Python 2.7) và với phần sau trong setup.py của tôi (trong setup()phương thức)

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

Tôi thấy tôi phải chạy như sau để đi pip install -e .làm:

pip install --upgrade pip

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

Việc redhat-rpm-configsử dụng của Scipy redhat-hardened-cc1trái ngược với thông thườngcc1


3

Trên windows python 3.5 , tôi quản lý để cài đặt scipybằng cách conda không sử dụng pip:

conda install scipy

2

Hệ điều hành này là gì? Câu trả lời có thể phụ thuộc vào HĐH liên quan. Tuy nhiên, có vẻ như bạn cần tìm thư viện BLAS này và cài đặt nó. Nó dường như không có trong PIP (do đó bạn sẽ phải thực hiện bằng tay), nhưng nếu bạn cài đặt nó, nó sẽ cho phép bạn tiến hành cài đặt SciPy.


Đó là Ubuntu 11.10. Tôi đã cố gắng, đó chính xác là vấn đề của tôi. Thư viện là gì và làm thế nào để tôi có được nó?
eran

25
Trên Ubuntu, bạn có thể làm ví dụ, sudo apt-get install liblapack-dev libatlas-devcộng với có thể python-dev gfortrannếu bạn đang thiếu chúng.
pv.

2
Tôi đã không làm bài đó! Cái quái gì thế
Shayne

0

trong trường hợp của tôi, nâng cấp pip đã làm điều đó. Ngoài ra, tôi đã cài đặt scipy với tham số -U (nâng cấp tất cả các gói lên phiên bản có sẵn mới nhất)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.