SciPy und NumPy mit pip installieren


157

Ich versuche, die erforderlichen Bibliotheken in einem Paket zu erstellen, das ich verteile. Es erfordert sowohl die SciPy- als auch die NumPy- Bibliothek. Während der Entwicklung habe ich beide mit installiert

apt-get install scipy

das SciPy 0.9.0 und NumPy 1.5.1 installiert hat, und es hat gut funktioniert.

Ich möchte dasselbe mit pip install- tun , um Abhängigkeiten in einer setup.py meines eigenen Pakets angeben zu können.

Das Problem ist, wenn ich versuche:

pip install 'numpy==1.5.1'

es funktioniert gut.

Aber dann

pip install 'scipy==0.9.0'

scheitert kläglich mit

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.

Wie bringe ich es zum Laufen?


Hmm, bist du sicher, dass pip gut funktioniert mit numpy=1.5.1anstatt numpy==1.5.1(doppelt gleich)?
Hugo Tavares

Ich benutze Double Equals, das war ein Tippfehler. Ich habe es gerade hier eingegeben, anstatt zu kopieren und einzufügen :)
eran

5
Neben blas und lapack müssen Sie installieren blas-develund lapack-devel. Dies ist im Dokument nicht angegeben, muss jedoch durchgeführt werden, wenn Sie mit PIP installieren möchten.
Iñigo Hernáez Corres

@ IñigoHernáezCorres (blas-devel und lapack-devel) sind auch für diejenigen von uns unter amazon-linux YUMable, wie ich gelernt habe.
Tommy

Antworten:


34

Ich gehe in meiner Antwort von Linux-Erfahrung aus. Ich fand heraus, dass es drei Voraussetzungen gibt, pip install scipyum gut vorgehen zu können.

Gehen Sie hier: SciPY installieren

Befolgen Sie die Anweisungen zum Herunterladen, Erstellen und Exportieren der env-Variablen für BLAS und anschließend für LAPACK . Achten Sie darauf, die Shell-Befehle nicht nur blind auszuschneiden und einzufügen. Abhängig von Ihrer Architektur usw. müssen Sie einige Zeilen auswählen und die richtigen Verzeichnisse korrigieren / hinzufügen, die fälschlicherweise als angenommen werden Gut.

Das dritte, was Sie möglicherweise benötigen, ist die Installation von numpy-f2py oder einem gleichwertigen Programm .

Oh ja, und schließlich müssen Sie möglicherweise gcc-gfortran installieren, da die oben genannten Bibliotheken Fortran- Quellen sind.


Anweisungen, die Sie bei der Installation von SciPy verlinkt haben, wurden entfernt. Möglicherweise werden sie jetzt hier verlinkt. scipy.org/scipylib/building/windows.html
jxramos

30
-1; Diese Antwort wurde durch Verbindungsbruch unbrauchbar gemacht. Das Kernstück der Antwort ist, den Anweisungen unter dem Link zu folgen, aber die Seite hat sich geändert und sie sind nicht mehr da. Der Fragesteller verwendete auch ein Betriebssystem apt-getals Paketmanager, aber diese Antwort verwendet yum. Es ist nichts Falsches daran, Antworten zu geben, die zusätzliche Plattformen abdecken, aber sie sollten als solche gekennzeichnet sein. Dies wird Unix-Noobs sonst unnötig verwirren.
Mark Amery

5
Um BLAS und LAPACK zu installieren, müssen Sieyum install lapack-devel.x86_64 blas-devel.x86_64
Max L

331

Dies funktionierte für mich unter Ubuntu 14.04:

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

4
Die Installation wurde libblas-dev liblapack-devbehoben, blasaber dann bekam error: library dfftpack has Fortran sources but no Fortran compiler foundich alle diese, um scipy installieren zu können. Danke dir.
Naoko

6
Ich installiere gerade libblas-dev liblapack-dev gfortran, es funktioniert für mich auf Ubuntu14.04
Jin

Libblas war Grund mit Fehler - keine Lapack / Blas-Ressourcen gefunden
Oleg Abrazhaev

1
Amen für nicht akzeptierte Antworten, die besser funktionieren als akzeptierte.
Felipe Almeida

für yum: yum installieren blas-devel lapack-devel atlas-devel gcc-gfortran
Alec McGail

76

Sie benötigen die Entwicklungspakete libblas und liblapack, wenn Sie Ubuntu verwenden.

aptitude install libblas-dev liblapack-dev
pip install scipy

13

Da die vorherigen Anweisungen zur Installation mit yum nicht korrekt sind, finden Sie hier die aktualisierten Anweisungen zur Installation auf so etwas wie Fedora. Ich habe dies auf "Amazon Linux AMI 2016.03" getestet.

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

6

Ich arbeitete an einem Projekt, das von Numpy und Scipy abhing. In einer Neuinstallation von Fedora 23 mit einer virtuellen Python-Umgebung für Python 3.4 (funktionierte auch für Python 2.7) und mit den folgenden Angaben in meiner setup.py (in der setup()Methode)

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

Ich stellte fest, dass ich Folgendes ausführen musste, um pip install -e .zur Arbeit zu kommen:

pip install --upgrade pip

und

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

Das redhat-rpm-configist für scipys Gebrauch redhat-hardened-cc1im Gegensatz zum regulärencc1


3

Auf Windows python 3.5 konnte ich installieren , scipyindem Sie conda nicht pip :

conda install scipy

2

Welches Betriebssystem ist das? Die Antwort hängt möglicherweise vom jeweiligen Betriebssystem ab. Es sieht jedoch so aus, als müssten Sie diese BLAS- Bibliothek finden und installieren. Es scheint nicht in PIP zu sein (Sie müssen es also von Hand machen), aber wenn Sie es installieren, sollten Sie damit Ihre SciPy-Installation fortsetzen können.


Es ist Ubuntu 11.10. Ich habe versucht, das ist genau mein Problem. Was ist die Bibliothek und wie bekomme ich sie?
eran

25
Unter Ubuntu können Sie zB sudo apt-get install liblapack-dev libatlas-devplus vielleicht auch tun, python-dev gfortranwenn Sie sie vermissen.
pv.

2
Ich habe diesen Beitrag nicht gemacht! Was zum Teufel?
Shayne

0

In meinem Fall hat das Aufrüsten von Pip den Trick getan. Außerdem habe ich scipy mit dem Parameter -U installiert (aktualisiere alle Pakete auf die letzte verfügbare Version).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.