Установка Windows Scipy: ресурсы Lapack / Blas не найдены

169

Я пытаюсь установить Python и ряд пакетов на 64-битный рабочий стол Windows 7. Я установил Python 3.4, установил Microsoft Visual Studio C ++ и успешно установил numpy, pandas и некоторые другие. Я получаю следующую ошибку при попытке установить scipy;

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

Я использую pip install в автономном режиме, я использую команду install is;

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

Я прочитал посты о том, что требуется компилятор, который, если я правильно понимаю, является компилятором VS C ++. Я использую версию 2010, как я использую Python 3.4. Это сработало для других пакетов.

Должен ли я использовать бинарный файл окна или есть способ заставить установку pip работать?

Большое спасибо за помощь

tjb305
источник
4
Я думаю, что это требует компилятора Фортрана. Но если предварительно встроенные двоичные файлы приемлемы, вы можете использовать Кристоф Gohlke в Numpy и SciPy пакетов колеса с пипом.
Eryk Sun
Спасибо Eryksun, я получаю загруженные двоичные файлы, чтобы видеть, решает ли это проблему.
tjb305
Разочаровывает, когда я пытаюсь установить бинарный файл, он утверждает, что у меня не установлен Python 3.4, хотя он есть в PATH.
tjb305
Пытаться py -3.4 -m pip install SomePackage.whl
Eryk Sun
2
У меня тоже была эта проблема. Мне не удалось заставить работать pip, но у меня это сработало (на вдовах): sourceforge.net/projects/scipy/files/scipy
MackM

Ответы:

33

Решение проблемы отсутствия библиотек BLAS / LAPACK для установок SciPy в 64-битной Windows 7 описано здесь:

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

Установить Anaconda намного проще, но вы все равно не получите поддержку Intel MKL или GPU, не заплатив за нее (они есть в дополнениях MKL Optimization и Accelerate для Anaconda - я не уверен, что они также используют PLASMA и MAGMA) , С оптимизацией MKL Numpy превзошел IDL в больших матричных вычислениях в 10 раз. MATLAB использует библиотеку Intel MKL для внутреннего использования и поддерживает вычисления на GPU, поэтому можно использовать ее по цене, если вы студент (50 долларов за MATLAB + 10 долларов за Parallel Computing Toolbox). Если вы получаете бесплатную пробную версию Intel Parallel Studio, она поставляется с библиотекой MKL, а также с компиляторами C ++ и FORTRAN, которые пригодятся вам, если вы хотите установить BLAS и LAPACK из MKL или ATLAS в Windows:

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

Parallel Studio также поставляется с библиотекой Intel MPI, полезной для кластерных вычислительных приложений и их новейших процессоров Xeon. Хотя процесс создания BLAS и LAPACK с оптимизацией MKL не является тривиальным, его преимущества для Python и R довольно велики, как описано на этом вебинаре Intel:

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

Anaconda и Enthought создали бизнес, сделав эту функциональность и несколько других вещей проще в развертывании. Тем не менее, он находится в свободном доступе для тех, кто хочет сделать немного работы (и немного обучения).

Для тех, кто использует R, теперь вы можете получить оптимизированные MKL BLAS и LAPACK бесплатно с R Open от Revolution Analytics.

РЕДАКТИРОВАТЬ: Anaconda Python теперь поставляется с оптимизацией MKL, а также поддержкой ряда других оптимизаций библиотек Intel через дистрибутив Intel Python. Однако поддержка GPU для Anaconda в библиотеке Accelerate (ранее известной как NumbaPro) по-прежнему превышает 10 тысяч долларов США! Лучшими альтернативами для этого являются, вероятно, PyCUDA и scikit-cuda, так как Copperhead (по сути, бесплатная версия Anaconda Accelerate), к сожалению, прекратил разработку пять лет назад. Это можно найти здесь, если кто-то хочет подобрать, где они остановились.

Адам Эриксон
источник
Единственная проблема с icl.cs.utk.edu/lapack-for-windows/lapack заключается в том, что это сбивает с толку. У кого-нибудь есть советы, что с этим делать?
Gseattle
1
Краткий ответ: используйте Anaconda
jordiburgos
Я использую Анаконду, и я все еще получаю ошибку. Мне пришлось скачать whl-файл, включая mkl, и установить его, чтобы он заработал. (Ответ знакомства Яанус ниже: ванильный NumPy не хватает)
рынков
1
2017 здесь - я получил его, используя метод здесь . Это не так уж плохо, когда вы понимаете, но это не так просто, как должно быть.
Джонатан Портер
Первая ссылка не работает. Я думаю, что это должно быть scipy.github.io/devdocs/building/windows.html .
ChickenFeet
120

Следующая ссылка должна решить все проблемы с Windows и SciPy ; просто выберите соответствующую загрузку. Я смог установить пакет без проблем. Любое другое решение, которое я пробовал, вызывало у меня сильные головные боли.

Источник: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Команда:

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

Это предполагает, что вы уже установили следующее:

  1. Установите Visual Studio 2015/2013 с помощью инструментов Python
    (интегрирован в параметры установки при установке 2015 г.)

  2. Установите компилятор Visual Studio C ++ для Python.
    Источник: http://www.microsoft.com/en-us/download/details.aspx?id=44266
    Имя файла:VCForPython27.msi

  3. Установите выбранную версию Python.
    Источник: имя
    файла python.org (например):python-2.7.10.amd64.msi

drewid
источник
9
@ Nozdrum и те, кто хочет использовать этот метод, вам просто нужно установить numpy + mkl перед тем, как scipy получит доступ к blas.
Холт
1
Также вы можете использовать установку SciPy с того же сайта, на который указывает @Holt. Мне пришлось использовать Numpy + MKL и SciPy, поставляемые в файлах WHL, чтобы заставить его работать.
Иезуизм
2
Я так понимаю, что это решение работает только с Python 2.7? Похоже, что по состоянию на август 2016 года компилятор для Python 3 отсутствует
geneorama
2
Это работает как шарм. Вы можете заметить, что cp27 в именах файлов указывает на версию python, для которой предназначен .whl, поэтому скачайте cp35, если вы работаете с python 3.5, cp27 для 2.7 и т. Д.
Александр Миклрайт,
2
Просто хотел выделить то, что написал @AlexanderMicklewright. Для меня не было очевидно, что это cpXXотносится к версии XX (C) Python. Я просто неявно выбрал самую высокую версию cp36, хотя я использую Python 3.5.
Чехнология
98

Версия моего питона 2.7.10, 64-битная Windows 7.

  1. Скачать scipy-0.18.0-cp27-cp27m-win_amd64.whlсhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. открыто cmd
  3. Убедитесь, что scipy-0.18.0-cp27-cp27m-win_amd64.whlв cmdтекущем каталоге, а затем введите pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl.

Он будет успешно установлен.

stmatengss
источник
17
Это должно быть отмечено как ответ; это сработало, и это самый безболезненный способ его установки.
Tensigh
Я не уверен, какова роль файла scikits.vectorplot-0.1.1-cp27-none-win_amd64.whl здесь. Я только что скачал файл scipy-0.18.0-cp27-cp27m-win_amd64.whl по указанной ссылке, которая успешно установила scipy. Тогда мне было предложено пропустить numpy + mkl. Я скачал по той же ссылке и установил с помощью pip install. Прекрасно работает, и я согласен, что это самое простое решение, с которым я столкнулся.
бипрограммист
5
Работает с Python 3.6 и Windows 10 тоже.
Спасибо! простое и удобное решение
Динеш
Ваше решение работало с Python 3.5 и Windows 10 тоже.
Никола Песавенто
30

Извините за некро, но это первый результат поиска в Google. Это решение, которое работает для меня:

  1. Загрузите колесо numpy + mkl с http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy . Используйте версию, которая совпадает с вашей версией Python (проверьте с помощью Python -V). Например. если ваш питон 3.5.2, скачайте колесо, которое показывает cp35

  2. Откройте командную строку и перейдите в папку, в которую вы скачали колесо. Запустите команду: pip install [имя файла колеса]

  3. Загрузите колесо SciPy с: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (аналогично шагу выше).

  4. Как и выше, pip install [имя файла колеса]

aleksk
источник
Полностью нормально размещать ответы на мертвые вопросы. Фактически, мы проверяем это каждый раз, когда это делает новый пользователь.
Nissa
2
Это сработало для меня в 32-битной версии Python 3.5 в Windows 8,
Роб Малдер
1
спасибо, работал на Python 3.6 с NumPy 1.13.1 + MKL, панды 0.20.3, scikit учиться 0.18-2, SciPy 0.19.1
зина
1
у меня это работало на Windows 10 x64 с использованием Python 3.6.2
Джефф Линдборг
20

Это был приказ, у меня все работало. Второй пункт самый важный. Нужен Сципи Numpy+MKL, а не только ваниль Numpy.

  1. Установите Python 3.5
  2. pip install "file path"(скачать колесо Numpy + MKL можно здесь http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy )
  3. pip install scipy
Яанус
источник
7
Ну, я сделал шаги 1) и 2), но в третьем я получил ту же ошибку. Поэтому после шагов 1) и 2) мне пришлось вручную загрузить пакет Scipy.whl отсюда: lfd.uci.edu/~gohlke/pythonlibs/#scipy и установить pip «путь загрузки scipy». Теперь это прекрасно работает!
Джеральдо Нето
5

Если вы работаете с Windows и Visual Studio 2015

  • Установите миниконду http://conda.pydata.org/miniconda.html
  • Измените свою среду Python на Python 3.4 (32 бита)
  • нажмите на среду Python 3.4 и откройте cmd

Введите следующие команды

  • "Конда установить Numpy"
  • "Конда установить панды"
  • "Конда установить Scipy"
маньяк
источник
2

Простая и быстрая установка Scipy в Windows

  1. От http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipyзагрузки правильный пакет SciPy для вашей версии Python (например , правильный пакет для питона 3.5 и Windows x64 являетсяscipy-0.19.1-cp35-cp35m-win_amd64.whl ).
  2. открыто cmd внутри каталог, содержащий загруженный пакет Scipy.
  3. Введите pip install <<your-scipy-package-name>>(например, pip install scipy-0.19.1-cp35-cp35m-win_amd64.whl).
Никола Песавенто
источник
5
Я получил 'scipy-0.19.1-cp36-cp36m-win_amd64.whl не поддерживается колесом на этой платформе.' при этом
сумасшедший ежик
1

В настоящее время Intel бесплатно предоставляет дистрибутив Python для Linux / Windows / OS X, который называется « Распределение Intel для Python ».

Это полный дистрибутив Python (например, python.exe входит в комплект), который включает в себя некоторые предустановленные модули, скомпилированные с MKL (Math Kernel Library) от Intel и, таким образом, оптимизированные для более быстрой работы.

В дистрибутив входят модули NumPy, SciPy, scikit-learn, pandas, matplotlib, Numba, tbb, pyDAAL, Jupyter и другие. Недостатком является запоздалое обновление до более поздних версий Python. Например, на сегодняшний день (1 мая 2017 года) дистрибутив предоставляет CPython 3.5, а версия 3.6 уже вышла. Но если вам не нужны новые функции, они должны быть в порядке.

raffaem
источник
Вы знаете, являются ли используемые библиотеки BLAS «динамическими»? Я использую theano, и если библиотеки "статичны", возникает много проблем.
Даниэль Мёллер
@Daniel, что вы подразумеваете под статическими библиотеками? Python - это интерпретируемый язык. Как вы используете статически связанные библиотеки? Но я не эксперт в этой области. Так что, возможно, я что-то
упускаю
О, тоже не совсем понимаю. Но это реальная проблема для использования theano. Нужно, чтобы библиотеки BLAS были динамическими (возможно, динамически связанными с numpy, а не статически связанными с numpy?) - Pyton использует серию скомпилированных библиотек, поэтому он может работать так быстро, хотя и интерпретируется.
Даниэль Мёллер
1

Я также получал ту же ошибку при установке scikit-fuzzy. Я исправил ошибку следующим образом:

  1. Установите Numpy , whl файл
  2. Установите Scipy , снова ноу файл

выберите файл в соответствии с версией python, например amd64 для python3 и другой файл win32 для python27

  1. затем pip install --user skfuzzy

Я надеюсь, это будет работать для вас

Rochan
источник
0

Использование ресурсов по адресу http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy решит проблему. Тем не менее, вы должны быть осторожны с совместимостью версий. После нескольких попыток, наконец, я решил удалить python, а затем установить новую версию python вместе с numpy, а затем установить scipy, и это решило мою проблему.

Собхан Моосави
источник
Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши коллеги-пользователи имели представление о том, что это такое и почему оно есть. Всегда указывайте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно недоступен.
Pableiros
0

сделать это, это решило для меня pip install -U scikit-learn

Удай
источник