Установка SciPy и NumPy с помощью pip

157

Я пытаюсь создать необходимые библиотеки в пакете, который я распространяю. Это требует как SciPy и Numpy библиотеки. Разрабатывая, я установил оба, используя

apt-get install scipy

который установил SciPy 0.9.0 и NumPy 1.5.1, и он работал нормально.

Я хотел бы сделать то же самое, используя pip install- для того, чтобы иметь возможность указывать зависимости в setup.py моего собственного пакета.

Проблема в том, когда я пытаюсь:

pip install 'numpy==1.5.1'

это работает отлично.

Но потом

pip install 'scipy==0.9.0'

неудачно с

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.

Как мне заставить его работать?

Эран
источник
Хм, а вы уверены, что пипс хорошо работает numpy=1.5.1вместо numpy==1.5.1(двойных равных)?
Уго Таварес
Я использую двойные равные, это была опечатка. Я просто ввел его здесь вместо копирования пасты :)
Эран
5
Помимо бла и лапак вам нужно установить blas-develи lapack-devel. Это не указано в документе, но должно быть сделано, если вы хотите установить с помощью PIP.
Иньго Эрнаес Коррес
Я узнал, что @ IñigoHernáezCorres (blas-devel и lapack-devel) также подходят для тех из нас, кто работает на amazon-linux.
Томми
stackoverflow.com/questions/7496547/does-python-scipy-need-blas имеет 2 последовательных шага
mhn

Ответы:

34

Я предполагаю опыт Linux в своем ответе; Я обнаружил, что есть три предпосылки для того, pip install scipyчтобы все прошло хорошо.

Зайдите сюда: Установка SciPY

Следуйте инструкциям, чтобы загрузить, собрать и экспортировать переменную env для BLAS, а затем LAPACK . Будьте осторожны, чтобы не просто слепо вырезать и вставить команды оболочки - будет несколько строк, которые вам нужно выбрать в зависимости от вашей архитектуры и т. Д., И вам нужно будет исправить / добавить правильные каталоги, которые он неправильно принимает как хорошо.

Третье, что вам может понадобиться, это установить yumy numpy-f2py или его эквивалент.

О, да, и, наконец, вам может понадобиться установить gcc-gfortran, так как библиотеки выше являются источником Fortran .

Дэвид Киранс
источник
инструкции, на которые вы ссылались в
разделе
30
-1; этот ответ стал бесполезным из-за разрыва ссылки. Суть ответа - «следовать инструкциям» по ссылке, но страница изменилась, и их больше нет. Кроме того, спрашивающий использовал ОС с apt-getменеджером пакетов, но этот ответ использует yum. Нет ничего плохого в предоставлении ответов, которые охватывают дополнительные платформы, но они должны быть обозначены как таковые; в противном случае это будет бесполезно путать с нубами Unix.
Марк Амери
5
Чтобы установить BLAS и LAPACK, вам нужно запуститьyum install lapack-devel.x86_64 blas-devel.x86_64
Max L
331

Это работало для меня на Ubuntu 14.04:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
pip install scipy
vk1011
источник
4
Установка libblas-dev liblapack-devрешена, blasно потом я получил, error: library dfftpack has Fortran sources but no Fortran compiler foundтак что мне нужно было все это, чтобы иметь возможность установить scipy. Спасибо.
Наоко
6
Я просто устанавливаю libblas-dev liblapack-dev gfortran, у меня это работает на Ubuntu14.04
Jin
libblas был причиной ошибки - ресурсы lapack / blas не найдены
Олег Абражаев
1
Аминь за непринятые ответы, которые работают лучше, чем принятые.
Фелипе
для ням: ням установить blas-devel lapack-devel atlas-devel gcc-gfortran
Алек МакГейл
76

вам нужны пакеты для разработки libblas и liblapack, если вы используете Ubuntu.

aptitude install libblas-dev liblapack-dev
pip install scipy
Крис Монтанаро
источник
13

Поскольку предыдущие инструкции по установке с помощью yum не работают, здесь приведены обновленные инструкции по установке на что-то вроде fedora. Я проверял это на "Amazon Linux AMI 2016.03"

sudo yum install atlas-devel lapack-devel blas-devel libgfortran
pip install scipy
Greg
источник
6

Я работал над проектом, который зависел от numpy и scipy. В чистой установке Fedora 23 с использованием виртуальной среды Python для Python 3.4 (также работало для Python 2.7) и со следующим в моем файле setup.py (в setup()методе)

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

Я обнаружил, что мне нужно выполнить следующее, чтобы добраться pip install -e .до работы:

pip install --upgrade pip

и

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

Для redhat-rpm-configиспользования Сципи redhat-hardened-cc1в отличие от обычногоcc1

Johann
источник
3

На Windows python 3.5 мне удалось установить scipyс помощью conda не pip :

conda install scipy
CONvid19
источник
2

Что это за операционная система? Ответ может зависеть от операционной системы. Однако, похоже, вам нужно найти эту библиотеку BLAS и установить ее. Кажется, он не в PIP (вам придется делать это вручную), но если вы установите его, он должен позволить вам продолжить установку SciPy.

Шэйн
источник
Это убунту 11.10. Я пытался, это именно моя проблема. Что такое библиотека и как мне ее получить?
Эран
25
В Ubuntu, вы можете сделать, например, sudo apt-get install liblapack-dev libatlas-devплюс, может быть, также, python-dev gfortranесли вы пропустите их.
pv.
2
Я не сделал этот пост! Какого черта?
Шейн
0

в моем случае, обновление пипса сделало свое дело. Кроме того, я установил scipy с параметром -U (обновите все пакеты до последней доступной версии)

Фанни
источник