Cài đặt Windows Scipy: Không tìm thấy tài nguyên Lapack / Blas


169

Tôi đang cố gắng cài đặt python và một loạt các gói lên máy tính để bàn windows 7 64 bit. Tôi đã cài đặt Python 3.4, đã cài đặt Microsoft Visual Studio C ++ và đã cài đặt thành công numpy, gấu trúc và một vài thứ khác. Tôi nhận được lỗi sau khi cố gắng cài đặt scipy;

numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

Tôi đang sử dụng pip install offline, lệnh cài đặt tôi đang sử dụng là;

pip install --no-index --find-links="S:\python\scipy 0.15.0" scipy

Tôi đã đọc các bài viết ở đây về việc yêu cầu một trình biên dịch mà nếu tôi hiểu chính xác là trình biên dịch VS C ++. Tôi đang sử dụng phiên bản 2010 vì tôi đang sử dụng Python 3.4. Điều này đã làm việc cho các gói khác.

Tôi có phải sử dụng cửa sổ nhị phân không hoặc có cách nào để cài đặt pip hoạt động không?

Cảm ơn rất nhiều vì sự giúp đỡ


4
Tôi nghĩ rằng nó đòi hỏi một trình biên dịch Fortran. Nhưng nếu mã nhị phân được xây dựng trước được chấp nhận, bạn có thể sử dụng Christoph Gohlke của NumPyscipy gói bánh với pip.
Eryk CN

Cảm ơn Eryksun, tôi nhận được các tệp nhị phân được tải xuống để xem điều đó có khắc phục được sự cố không.
tjb305

Thật khó chịu khi tôi thử và cài đặt nhị phân, nó tuyên bố rằng tôi chưa cài đặt Python 3.4, mặc dù nó có trong PATH.
tjb305

Hãy thửpy -3.4 -m pip install SomePackage.whl
Eryk Sun

2
Tôi cũng đã từng gặp phải vấn đề này. Tôi không thể làm cho pip hoạt động được, nhưng điều này hiệu quả với tôi (trên Widows): sourceforge.net/projects/scipy/files/scipy
MackM 12/02/2015

Câu trả lời:


33

Giải pháp cho sự vắng mặt của các thư viện BLAS / LAPACK cho các cài đặt SciPy trên Windows 7 64-bit được mô tả ở đây:

http://www.scipy.org/scipylib/building/windows.html

Việc cài đặt Anaconda dễ dàng hơn nhiều, nhưng bạn vẫn không nhận được hỗ trợ Intel MKL hoặc GPU mà không phải trả tiền (chúng nằm trong phần bổ trợ MKL Tối ưu hóa và tăng tốc cho Anaconda - Tôi cũng không chắc họ có sử dụng PLASMA và MAGMA không) . Với tối ưu hóa MKL, numpy đã vượt trội hơn IDL trên các tính toán ma trận lớn gấp 10 lần. MATLAB sử dụng thư viện Intel MKL trong nội bộ và hỗ trợ tính toán GPU, do đó, người ta cũng có thể sử dụng giá đó nếu họ là sinh viên ($ 50 cho MATLAB + $ 10 cho Hộp công cụ tính toán song song). Nếu bạn được dùng thử miễn phí Intel Parallel Studio, nó đi kèm với thư viện MKL, cũng như các trình biên dịch C ++ và FORTRAN sẽ có ích nếu bạn muốn cài đặt BLAS và LAPACK từ MKL hoặc ATLAS trên Windows:

http://icl.cs.utk.edu/lapack-for-windows/lapack/

Parallel Studio cũng đi kèm với thư viện Intel MPI, hữu ích cho các ứng dụng điện toán cụm và bộ xử lý Xeon mới nhất của họ. Mặc dù quá trình xây dựng BLAS và LAPACK với tối ưu hóa MKL không phải là nhỏ, nhưng lợi ích của việc này đối với Python và R là khá lớn, như được mô tả trong hội thảo trực tuyến Intel này:

https://software.intel.com/en-us/articles/powered-by-mkl-accelerating-numpy-and-scipy-performance-with-intel-mkl-python

Anaconda và Enth think đã xây dựng các doanh nghiệp từ việc tạo ra chức năng này và một vài thứ khác dễ triển khai hơn. Tuy nhiên, nó có sẵn miễn phí cho những người sẵn sàng làm một công việc nhỏ (và một chút học hỏi).

Đối với những người sử dụng R, giờ đây bạn có thể nhận được BLAS và LAPACK được tối ưu hóa MKL miễn phí với R Open từ Revolution Analytics.

EDIT: Anaconda Python hiện có khả năng tối ưu hóa MKL, cũng như hỗ trợ một số tối ưu hóa thư viện Intel khác thông qua bản phân phối Intel Python. Tuy nhiên, hỗ trợ GPU cho Anaconda trong thư viện Tăng tốc (trước đây gọi là NumbaPro) vẫn còn hơn $ 10k USD! Các lựa chọn thay thế tốt nhất có lẽ là PyCUDA và scikit-cuda, vì đầu đồng (về cơ bản là phiên bản miễn phí của Anaconda Accelerate) không may ngừng phát triển năm năm trước. Nó có thể được tìm thấy ở đây nếu bất cứ ai muốn chọn nơi họ rời đi.


Vấn đề duy nhất với icl.cs.utk.edu/lapack-for-windows/lapack là nó khó hiểu. Bất cứ ai có lời khuyên về những gì để làm với nó?
gseatussy

1
Câu trả lời ngắn: sử dụng Anaconda
jordiburgos

Tôi sử dụng Anaconda và tôi vẫn nhận được lỗi. Tôi đã phải tải xuống tập tin whl bao gồm mkl và cài đặt nó để làm cho nó hoạt động. (Xem Jaanus' câu trả lời dưới đây: vani NumPy là không đủ)
siêu thị

1
2017 ở đây - Tôi đã làm cho nó hoạt động bằng cách sử dụng phương pháp ở đây . Nó không quá tệ một khi bạn hiểu nhưng nó không đơn giản như nó phải vậy.
Jonathan Porter

Liên kết đầu tiên bị hỏng. Tôi nghĩ rằng nó nên là scipy.github.io/devdocs/building/windows.html thay vào đó.
ChickenFeet

120

Liên kết sau sẽ giải quyết tất cả các vấn đề với Windows và SciPy ; chỉ cần chọn tải về thích hợp. Tôi đã có thể cài đặt gói mà không có vấn đề. Mọi giải pháp khác tôi đã thử đều khiến tôi đau đầu.

Nguồn: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Chỉ huy:

 pip install [Local File Location]\[Your specific file such as scipy-0.16.0-cp27-none-win_amd64.whl]

Điều này giả sử bạn đã cài đặt như sau:

  1. Cài đặt Visual Studio 2015/2013 với Python Tools
    (Được tích hợp vào các tùy chọn thiết lập khi cài đặt 2015)

  2. Cài đặt trình biên dịch Visual Studio C ++ cho Python
    Nguồn: http://www.microsoft.com/en-us/doad/details.aspx?id=44266
    Tên tệp:VCForPython27.msi

  3. Cài đặt Python Phiên bản lựa chọn
    Nguồn: python.org
    Tên tệp (ví dụ):python-2.7.10.amd64.msi


9
@Nozdrum và những người muốn sử dụng phương pháp đó, bạn chỉ cần cài đặt numpy + mkl trước khi scipy có quyền truy cập vào blas.
Holt

1
Ngoài ra, bạn có thể muốn sử dụng cài đặt SciPy từ cùng một trang được chỉ ra bởi @Holt. Tôi đã phải sử dụng Numpy + MKL và SciPy được cung cấp trong các tệp WHL để làm cho nó hoạt động.
Jesuisme

2
Tôi cho rằng giải pháp này chỉ hoạt động với Python 2.7? Có vẻ như không có trình biên dịch cho Python 3 vào tháng 8 năm 2016
genorama

2
Công việc này như một cái duyên vậy. Bạn có thể muốn lưu ý rằng cp27 trong tên tệp trỏ đến phiên bản của python .whl là để tải xuống cp35 nếu bạn đang chạy python 3.5, cp27 cho 2.7, v.v.
Alexander Micklewright

2
Chỉ muốn làm nổi bật những gì @AlexanderMicklewright đã viết. Tôi không rõ ràng khi cpXXnói đến phiên bản XX của (C) Python. Tôi chỉ ngầm chọn phiên bản cao nhất cp36, mặc dù tôi đang chạy Python 3.5.
Công nghệ

98

Phiên bản python của tôi là 2.7.10, Windows 7 64 bit.

  1. Tải xuống scipy-0.18.0-cp27-cp27m-win_amd64.whl từhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. Mở cmd
  3. Hãy chắc chắn scipy-0.18.0-cp27-cp27m-win_amd64.whllà trong cmdthư mục hiện tại của bạn, sau đó gõ pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl.

Nó sẽ được cài đặt thành công.


17
Điều này nên được đánh dấu là câu trả lời; nó hoạt động và đó là cách dễ dàng nhất để cài đặt nó.
Hàng chục

Tôi không chắc vai trò của tập tin scikits.vectorplot-0.1.1-cp27-none-win_amd64.whl ở đây là gì. Tôi vừa tải xuống tệp scipy-0.18.0-cp27-cp27m-win_amd64.whl từ liên kết đã cho đã cài đặt thành công scipy. Sau đó, tôi đã được nhắc về việc mất numpy + mkl. Tôi đã tải xuống bằng cách sử dụng cùng một liên kết và cài đặt bằng cách cài đặt pip. Hoạt động tuyệt vời và tôi đồng ý đây là giải pháp đơn giản nhất mà tôi đã gặp.
beeprogrammer

5
Hoạt động với python 3.6 và windows 10 cũng vậy.

Cảm ơn! giải pháp đơn giản và dễ dàng
Dinesh

Giải pháp của bạn cũng hoạt động với Python 3.5 và Windows 10.
Nicola Pesavento

30

Xin lỗi để necro, nhưng đây là kết quả tìm kiếm google đầu tiên. Đây là giải pháp hiệu quả với tôi:

  1. Tải xuống bánh xe numpy + mkl từ http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy . Sử dụng phiên bản giống với phiên bản python của bạn (kiểm tra bằng python -V). Ví dụ. nếu con trăn của bạn là 3.5.2, hãy tải xuống bánh xe hiển thị cp35

  2. Mở dấu nhắc lệnh và điều hướng đến thư mục mà bạn đã tải xuống bánh xe. Chạy lệnh: pip install [tên tệp của bánh xe]

  3. Tải xuống bánh xe SciPy từ: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (tương tự như bước trên).

  4. Như trên, pip cài đặt [tên tệp của bánh xe]


Hoàn toàn ổn khi đăng câu trả lời cho câu hỏi chết. Trên thực tế, chúng tôi thực sự xem xét nó mỗi khi người dùng mới thực hiện việc này.
Nissa

2
Điều này làm việc với tôi cho Python 3.5 32 bit trên Windows 8 64 bit, kể từ ngày 8 tháng 1 năm 2017
Rob Mulder

1
cảm ơn, đã làm việc cho Python 3.6 với numpy 1.13.1 + mkl, pandas 0.20.3, scikit-learn 0.18.2, scipy 0.19.1
zina

1
điều này làm việc với tôi trên Windows 10 x64 bằng Python 3.6.2
Jeff Lindborg

20

Đây là thứ tự tôi có mọi thứ làm việc. Điểm thứ hai là quan trọng nhất. Nhu cầu Scipy Numpy+MKL, không chỉ vani Numpy.

  1. Cài đặt python 3.5
  2. pip install "file path"(tải xuống bánh xe Numpy + MKL từ đây http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy )
  3. pip install scipy

7
Vâng, tôi đã làm các bước 1) và 2), nhưng trong lần thứ ba, tôi đã nhận được cùng một lỗi. Vì vậy, sau các bước 1) và 2) Tôi đã phải tải xuống gói Scipy.whl theo cách thủ công từ đây: lfd.uci.edu/~gohlke/pythonlibs/#scipy và pip cài đặt "đường dẫn tải xuống scipy". Bây giờ nó hoạt động tuyệt vời!
Geraldo Neto

5

Nếu bạn đang làm việc với Windows và Visual Studio 2015

Nhập các lệnh sau

  • "cài đặt conda numpy"
  • "gấu trúc cài đặt gấu trúc"
  • "cài đặt sca"


2

Cài đặt Scipy đơn giản và nhanh chóng trong Windows

  1. Từ http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipytải xuống gói Scipy chính xác cho phiên bản Python của bạn (ví dụ: gói chính xác cho python 3.5 và Windows x64 là scipy-0.19.1-cp35-cp35m-win_amd64.whl).
  2. Mở cmdbên trong thư mục chứa gói Scipy đã tải xuống.
  3. Loại pip install <<your-scipy-package-name>>(ví dụ: pip cài đặt scipy-0.19.1-cp35-cp35m-win_amd64.whl).

5
Tôi đã nhận được 'scipy-0.19.1-cp36-cp36m-win_amd64.whl không phải là một bánh xe được hỗ trợ trên nền tảng này.' khi làm điều này
con nhím mất trí nhớ


1

Intel hiện cung cấp bản phân phối Python cho Linux / Windows / OS X miễn phí có tên là " Phân phối Intel cho Python ".

Đây là một bản phân phối Python hoàn chỉnh (ví dụ python.exe được bao gồm trong gói) bao gồm một số mô-đun được cài đặt sẵn được biên dịch dựa trên MKL (Thư viện hạt nhân toán học) của Intel và do đó được tối ưu hóa để có hiệu suất nhanh hơn.

Phân phối bao gồm các mô-đun NumPy, SciPy, scikit-learn, gấu trúc, matplotlib, Numba, tbb, pyDAAL, Jupyter và các loại khác. Hạn chế là một chút độ trễ trong việc nâng cấp lên các phiên bản Python mới hơn. Ví dụ: kể từ hôm nay (1 tháng 5 năm 2017), bản phân phối cung cấp CPython 3.5 trong khi phiên bản 3.6 đã ra mắt. Nhưng nếu bạn không cần các tính năng mới thì chúng sẽ hoàn toàn ổn.


Bạn có biết các thư viện BLAS được sử dụng là "động" không? Tôi đang sử dụng theano và nếu các thư viện là "tĩnh", rất nhiều vấn đề xuất hiện.
Daniel Möller

@Daniel bạn có ý nghĩa gì bởi các thư viện tĩnh? Python là một ngôn ngữ được giải thích. Làm thế nào bạn đang sử dụng các thư viện liên kết tĩnh? Nhưng tôi không phải là chuyên gia trong lĩnh vực này. Vì vậy, có thể tôi đang thiếu một cái gì đó
raffaem

O cũng không hiểu nó lắm. Nhưng đó là một vấn đề thực sự cho việc sử dụng theano. Nó cần các thư viện BLAS là động (có lẽ được liên kết động với numpy thay vì liên kết tĩnh với numpy?) - Pyton sử dụng một loạt các thư viện được biên dịch, đó là lý do tại sao nó có thể hoạt động nhanh như vậy mặc dù được giải thích.
Daniel Möller

1

Tôi cũng đã nhận được lỗi tương tự trong khi cài đặt scikit-fuzzy. Tôi đã giải quyết lỗi như sau:

  1. Cài đặt Numpy , một tập tin whl
  2. Cài đặt Scipy , một lần nữa một tập tin whl

chọn tệp theo phiên bản python như amd64 cho python3 và tệp win32 khác cho python27

  1. sau đó pip install --user skfuzzy

Tôi hy vọng, nó sẽ làm việc cho bạn



0

Sử dụng tài nguyên tại http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy sẽ giải quyết vấn đề. Tuy nhiên, bạn nên cẩn thận về khả năng tương thích phiên bản. Sau khi thử vài lần, cuối cùng tôi quyết định gỡ cài đặt python và sau đó cài đặt một phiên bản mới của python cùng với numpy và sau đó cài đặt scipy và điều này đã giải quyết vấn đề của tôi.


Liên kết đến các tài nguyên bên ngoài được khuyến khích, nhưng vui lòng thêm ngữ cảnh xung quanh liên kết để người dùng đồng nghiệp của bạn sẽ có một số ý tưởng về nó là gì và tại sao nó ở đó. Luôn trích dẫn phần có liên quan nhất của một liên kết quan trọng, trong trường hợp trang đích không thể truy cập được hoặc ngoại tuyến vĩnh viễn.
pableiros


0

làm điều này, nó đã giải quyết cho tôi pip install -U scikit-learn

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.