Встановлення 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(подвійний дорівнює)?
Уго Таварес

Я використовую подвійні рівні, це була помилка друку. Я просто набрав сюди замість того, щоб скопіювати пасту :)
eran

5
Крім blas і lapack вам потрібно встановити blas-develі lapack-devel. Це не вказано в документі, але це потрібно зробити, якщо ви хочете встановити за допомогою PIP.
Iñigo Hernáez Corres

@ IñigoHernáezCorres (blas-devel і lapack-devel) також YUMable, я дізнався, для тих, хто з нас на Amazon-Linux.
Томмі

Відповіді:


34

Я припускаю досвід Linux у своїй відповіді; Я виявив, що є три передумови для того, pip install scipyщоб добре пройти.

Перейдіть сюди: Встановлення SciPY

Дотримуйтесь інструкцій для завантаження, створення та експорту змінної env для BLAS, а потім LAPACK . Будьте обережні, щоб не просто сліпо вирізати команди оболонки - буде кілька рядків, які потрібно вибрати, залежно від вашої архітектури тощо. Ну.

Третє, що вам може знадобитися - це встановити numum-f2py або подібний еквівалент.

О, так, і нарешті, вам може знадобитися встановити gcc-gfortran, оскільки бібліотеки вище є джерелом Fortran .


Інструкції, які ви пов’язали з Інсталяцією SciPy , були видалені, можливо, тут посилаються scipy.org/scipylib/building/windows.html
jxramos

30
-1; ця відповідь була непридатною при обриві зв'язку. М’ясо відповіді полягає в тому, щоб "слідувати вказівкам" за посиланням, але сторінка змінилася, і їх більше немає. Також запитувач використовував ОС в apt-getякості свого менеджера пакетів, але ця відповідь використовує yum. Немає нічого поганого в наданні відповідей, що охоплюють додаткові платформи, але вони повинні бути зазначені як такі; це в іншому випадку буде непотрібно плутати Unix noobs.
Марк Амері

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

4
Установка libblas-dev liblapack-devвирішена, blasале потім я отримав, error: library dfftpack has Fortran sources but no Fortran compiler foundтому мені було потрібно все це, щоб мати можливість встановити scipy. Дякую.
naoko

6
Я просто встановив libblas-dev liblapack-dev gfortran, він працює для мене на Ubuntu14.04
Jin

libblas був причиною помилки - не знайдено ресурсів lapack / blas
Олег Абражаєв

1
Амінь за неприйняті відповіді, які працюють краще, ніж прийняті.
Феліпе Алмейда

for yum: yum install blas-devel lapack-devel atlas-devel gcc-gfortran
Alec McGail

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

6

Я працював над проектом, який залежав від нумету та шумності. У чистому встановленні 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для використання scipy на redhat-hardened-cc1відміну від звичайногоcc1


3

У Windows python 3.5 мені вдалося встановити scipy, використовуючи conda не pip :

conda install scipy

2

Яка це операційна система? Відповідь може залежати від залученої ОС. Однак, схоже, вам потрібно знайти цю бібліотеку BLAS та встановити її. Схоже, це не PIP (вам доведеться це робити вручну), але якщо ви встановите його, це повинно дозволити вам просунути встановлення SciPy.


Це ubuntu 11.10. Я спробував, це саме моя проблема. Що таке бібліотека і як її отримати?
еран

25
У Ubuntu ви можете зробити, наприклад, sudo apt-get install liblapack-dev libatlas-devплюс, можливо, також python-dev gfortranякщо ви їх відсутні.
пв.

2
Я не займав цю посаду! Якого біса?
Шейне

0

у моєму випадку оновлення піп зробило свою справу. Також я встановив scipy з параметром -U (оновіть всі пакети до останньої доступної версії)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.