Windows Scipy-Installation: Keine Lapack / Blas-Ressourcen gefunden

169

Ich versuche, Python und eine Reihe von Paketen auf einem 64-Bit-Windows 7-Desktop zu installieren. Ich habe Python 3.4 installiert, Microsoft Visual Studio C ++ installiert und numpy, pandas und einige andere erfolgreich installiert. Beim Versuch, scipy zu installieren, wird die folgende Fehlermeldung angezeigt.

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

Ich verwende pip install offline. Der Installationsbefehl, den ich verwende, lautet:

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

Ich habe die Beiträge hier gelesen, in denen es darum geht, einen Compiler zu benötigen, der, wenn ich das richtig verstehe, der VS C ++ - Compiler ist. Ich verwende die Version 2010 wie Python 3.4. Dies hat bei anderen Paketen funktioniert.

Muss ich die Windows-Binärdatei verwenden oder gibt es eine Möglichkeit, die Pip-Installation zum Laufen zu bringen?

Vielen Dank für die Hilfe

tjb305
quelle
4
Ich denke, es erfordert einen Fortran-Compiler. Wenn vorgefertigte Binärdateien akzeptabel sind, können Sie Christoph Gohlkes Numpy- und Scipy- Wheel-Pakete mit Pip verwenden.
Eryk So
Danke Eryksun, ich lasse die Binärdateien herunterladen, um zu sehen, ob das Problem dadurch behoben wird.
tjb305
Frustrierend, wenn ich versuche, die Binärdatei zu installieren, wird behauptet, dass ich Python 3.4 nicht installiert habe, obwohl es in PATH vorhanden ist.
tjb305
Versuchen Siepy -3.4 -m pip install SomePackage.whl
Eryk Sun
2
Ich hatte auch dieses Problem. Ich konnte pip nicht zum Laufen bringen, aber das funktionierte für mich (bei Widows): sourceforge.net/projects/scipy/files/scipy
MackM

Antworten:

33

Die Lösung für das Fehlen von BLAS / LAPACK-Bibliotheken für SciPy-Installationen unter Windows 7 64-Bit wird hier beschrieben:

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

Die Installation von Anaconda ist viel einfacher, aber Sie erhalten immer noch keine Intel MKL- oder GPU-Unterstützung, ohne dafür zu bezahlen (sie sind in den MKL-Optimierungs- und Beschleunigungs-Add-Ons für Anaconda enthalten - ich bin mir nicht sicher, ob sie PLASMA und MAGMA verwenden). . Mit der MKL-Optimierung hat numpy IDL bei großen Matrixberechnungen um das Zehnfache übertroffen. MATLAB verwendet die Intel MKL-Bibliothek intern und unterstützt GPU-Computing. Wenn Sie Student sind, können Sie dies auch für den Preis verwenden (50 US-Dollar für MATLAB + 10 US-Dollar für die Parallel Computing Toolbox). Wenn Sie die kostenlose Testversion von Intel Parallel Studio erhalten, werden die MKL-Bibliothek sowie C ++ - und FORTRAN-Compiler mitgeliefert, die nützlich sind, wenn Sie BLAS und LAPACK von MKL oder ATLAS unter Windows installieren möchten:

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

Parallel Studio enthält außerdem die Intel MPI-Bibliothek, die für Cluster-Computing-Anwendungen und deren neueste Xeon-Prozessoren nützlich ist. Während das Erstellen von BLAS und LAPACK mit MKL-Optimierung nicht trivial ist, sind die Vorteile für Python und R recht groß, wie in diesem Intel-Webinar beschrieben:

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

Anaconda und Enthought haben Unternehmen aufgebaut, um diese Funktionalität und einige andere Dinge einfacher bereitzustellen. Es ist jedoch für diejenigen frei verfügbar, die bereit sind, ein wenig zu arbeiten (und ein wenig zu lernen).

Für diejenigen, die R verwenden, können Sie jetzt MKL-optimiertes BLAS und LAPACK kostenlos mit R Open von Revolution Analytics erhalten.

BEARBEITEN: Anaconda Python wird jetzt mit MKL-Optimierung geliefert und unterstützt eine Reihe anderer Optimierungen der Intel-Bibliothek über die Intel Python-Distribution. Die GPU-Unterstützung für Anaconda in der Accelerate-Bibliothek (früher bekannt als NumbaPro) beträgt jedoch immer noch über 10.000 USD! Die besten Alternativen dafür sind wahrscheinlich PyCUDA und Scikit-Cuda, da Copperhead (im Wesentlichen eine kostenlose Version von Anaconda Accelerate) die Entwicklung leider vor fünf Jahren eingestellt hat. Es kann hier gefunden werden wenn jemand dort weitermachen möchte, wo er aufgehört hat.

Adam Erickson
quelle
Das einzige Problem mit icl.cs.utk.edu/lapack-for-windows/lapack ist, dass es verwirrend ist. Hat jemand Tipps, was man damit machen soll?
Gseattle
1
Kurze Antwort: Verwenden Sie Anaconda
Jordaniburgos
Ich benutze Anaconda und bekomme immer noch den Fehler. Ich musste die whl-Datei einschließlich mkl herunterladen und installieren, damit sie funktioniert. (Siehe Jaanus 'Antwort unten: Vanille numpy ist nicht genug)
Marts
1
2017 hier - ich habe es mit der Methode hier zum Laufen gebracht . Es ist nicht schlecht, wenn Sie es einmal verstanden haben, aber es ist nicht so einfach, wie es sein sollte.
Jonathan Porter
Der erste Link ist defekt. Ich denke, es sollte stattdessen scipy.github.io/devdocs/building/windows.html sein .
ChickenFeet
120

Der folgende Link sollte alle Probleme mit Windows und SciPy lösen . Wählen Sie einfach den entsprechenden Download. Ich konnte das Paket ohne Probleme per Pip installieren. Jede andere Lösung, die ich versucht habe, bereitete mir große Kopfschmerzen.

Quelle: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Befehl:

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

Dies setzt voraus, dass Sie Folgendes bereits installiert haben:

  1. Installieren Sie Visual Studio 2015/2013 mit Python Tools
    (Wird bei der Installation von 2015 in die Setup-Optionen integriert)

  2. Installieren Sie den Visual Studio C ++ - Compiler für Python.
    Quelle: http://www.microsoft.com/en-us/download/details.aspx?id=44266
    Dateiname:VCForPython27.msi

  3. Installieren Sie die Python-Version Ihrer Wahl.
    Quelle: python.org
    Dateiname (z. B.):python-2.7.10.amd64.msi

zogid
quelle
9
@Nozdrum und diejenigen, die diese Methode verwenden möchten, müssen lediglich numpy + mkl vor scipy installieren , um Zugriff auf blas zu erhalten.
Holt
1
Möglicherweise möchten Sie auch die SciPy-Installation von derselben Site verwenden, auf die @Holt verweist. Ich musste Numpy + MKL und SciPy verwenden, die in den WHL-Dateien enthalten waren, damit es funktionierte.
Jesuisme
2
Ich nehme an, dass diese Lösung nur mit Python 2.7 funktioniert? Es sieht so aus, als gäbe es ab August 2016 keinen Compiler für Python 3
geneorama
2
Das funktioniert wie ein Zauber. Möglicherweise möchten Sie beachten, dass das cp27 in den Dateinamen auf die Version von Python verweist, für die .whl vorgesehen ist. Laden Sie daher cp35 herunter, wenn Sie Python 3.5, cp27 für 2.7 usw. ausführen.
ausführen
2
Ich wollte nur hervorheben, was @AlexanderMicklewright geschrieben hat. Mir war nicht klar, dass sich das cpXXauf die Version XX von (C) Python bezieht. Ich habe nur implizit die höchste Version cp36 gewählt, obwohl ich Python 3.5 verwende.
Czechnology
98

Die Version meines Pythons ist 2.7.10, 64-Bit-Windows 7.

  1. Herunterladen scipy-0.18.0-cp27-cp27m-win_amd64.whl vonhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. Öffnen cmd
  3. Stellen Sie sicher, dass scipy-0.18.0-cp27-cp27m-win_amd64.whles sich im cmdaktuellen Verzeichnis befindet, und geben Sie ein pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl.

Es wird erfolgreich installiert.

stmatengss
quelle
17
Dies sollte als Antwort markiert werden. es hat funktioniert und es ist die schmerzloseste Art, es zu installieren.
Tensigh
Ich bin nicht sicher, welche Rolle die Datei scikits.vectorplot-0.1.1-cp27-none-win_amd64.whl hier spielt. Ich habe gerade die Datei scipy-0.18.0-cp27-cp27m-win_amd64.whl von dem angegebenen Link heruntergeladen, der scipy erfolgreich installiert hat. Dann wurde ich aufgefordert, numpy + mkl zu vermissen. Ich habe über denselben Link heruntergeladen und mit pip install installiert. Funktioniert hervorragend und ich stimme zu, dass dies die einfachste Lösung ist, auf die ich gestoßen bin.
Beeprogrammer
5
Funktioniert auch mit Python 3.6 und Windows 10.
Vielen Dank! einfache und einfache Lösung
Dinesh
Ihre Lösung funktionierte auch mit Python 3.5 und Windows 10.
Nicola Pesavento
30

Tut mir leid, aber dies ist das erste Google-Suchergebnis. Dies ist die Lösung, die für mich funktioniert hat:

  1. Laden Sie numpy + mkl Wheel von http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy herunter . Verwenden Sie die Version, die mit Ihrer Python-Version identisch ist (überprüfen Sie dies mit Python -V). Z.B. Wenn Ihre Python 3.5.2 ist, laden Sie das Rad herunter, das cp35 anzeigt

  2. Öffnen Sie die Eingabeaufforderung und navigieren Sie zu dem Ordner, in den Sie das Rad heruntergeladen haben. Führen Sie den folgenden Befehl aus: pip install [Dateiname des Rads]

  3. Laden Sie das SciPy-Rad von folgender Adresse herunter: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (ähnlich dem obigen Schritt).

  4. Wie oben, pip install [Dateiname des Rades]

aleksk
quelle
Es ist völlig in Ordnung, Antworten auf tote Fragen zu posten. Tatsächlich überprüfen wir es jedes Mal, wenn ein neuer Benutzer dies tut.
Nissa
2
Dies funktionierte für mich für Python 3.5 32-Bit unter Windows 8 64-Bit, Stand 8. Januar 2017
Rob Mulder
1
danke, arbeitete für Python 3.6 mit numpy 1.13.1 + mkl, pandas 0.20.3, scikit-learn 0.18.2, scipy 0.19.1
zina
1
Dies funktionierte für mich unter Windows 10 x64 mit Python 3.6.2
Jeff Lindborg
20

Dies war die Reihenfolge, in der ich alles zum Laufen brachte. Der zweite Punkt ist der wichtigste. Scipy braucht Numpy+MKLnicht nur Vanille Numpy.

  1. Installieren Sie Python 3.5
  2. pip install "file path"(Laden Sie das Numpy + MKL-Rad hier herunter: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy )
  3. pip install scipy
Jaanus
quelle
7
Nun, ich habe die Schritte 1) und 2) ausgeführt, aber im dritten Schritt wurde der gleiche Fehler angezeigt. Nach den Schritten 1) und 2) musste ich das Scipy.whl-Paket manuell von hier herunterladen: lfd.uci.edu/~gohlke/pythonlibs/#scipy und pip install "scipy downloaded path". Jetzt funktioniert es super!
Geraldo Neto
5

Wenn Sie mit Windows und Visual Studio 2015 arbeiten

Geben Sie die folgenden Befehle ein

  • "conda install numpy"
  • "conda install pandas"
  • "conda install scipy"
verrückt
quelle
2

Einfache und schnelle Installation von Scipy unter Windows

  1. Vom http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipyDownload (zB ist das richtige Paket für Python 3.5 und Windows x64 das richtige Scipy - Paket für Ihre Python - Version scipy-0.19.1-cp35-cp35m-win_amd64.whl).
  2. Öffnen Sie cmddas Verzeichnis mit dem heruntergeladenen Scipy-Paket.
  3. Typ pip install <<your-scipy-package-name>>(z. B. pip install scipy-0.19.1-cp35-cp35m-win_amd64.whl).
Nicola Pesavento
quelle
5
Ich habe 'scipy-0.19.1-cp36-cp36m-win_amd64.whl ist kein unterstütztes Rad auf dieser Plattform.' wenn Sie dies tun.
wahnsinniger Igel
1

Intel bietet jetzt eine kostenlose Python-Distribution für Linux / Windows / OS X mit dem Namen " Intel-Distribution für Python " an.

Es handelt sich um eine vollständige Python-Distribution (z. B. python.exe ist im Paket enthalten), die einige vorinstallierte Module enthält, die mit Intels MKL (Math Kernel Library) kompiliert und somit für eine schnellere Leistung optimiert wurden.

Die Distribution umfasst die Module NumPy, SciPy, Scikit-Learn, Pandas, Matplotlib, Numba, TBB, PyDAAL, Jupyter und andere. Der Nachteil ist ein wenig Verspätung beim Upgrade auf neuere Versionen von Python. Zum Beispiel bietet die Distribution ab heute (1. Mai 2017) CPython 3.5 an, während die Version 3.6 bereits verfügbar ist. Wenn Sie die neuen Funktionen jedoch nicht benötigen, sollten sie vollkommen in Ordnung sein.

Raffaem
quelle
Wissen Sie, ob die verwendeten BLAS-Bibliotheken "dynamisch" sind? Ich benutze theano und wenn die Bibliotheken "statisch" sind, treten viele Probleme auf.
Daniel Möller
@ Daniel, was meinst du mit statischen Bibliotheken? Python ist eine interpretierte Sprache. Wie verwenden Sie statisch verknüpfte Bibliotheken? Aber ich bin kein Experte auf diesem Gebiet.
Vielleicht
O verstehe es auch nicht ganz gut. Aber das ist ein echtes Problem bei der Verwendung von Theano. Es ist erforderlich, dass die BLAS-Bibliotheken dynamisch sind (möglicherweise dynamisch mit numpy verknüpft anstatt statisch mit numpy verknüpft?). Pyton verwendet eine Reihe kompilierter Bibliotheken. Deshalb kann es so schnell arbeiten, obwohl es interpretiert wird.
Daniel Möller
1

Ich habe auch den gleichen Fehler bei der Installation von scikit-fuzzy erhalten. Ich habe den Fehler wie folgt behoben:

  1. Installieren Sie Numpy , eine WhL-Datei
  2. Installiere Scipy , wieder eine Whl-Datei

Wählen Sie eine Datei gemäß der Python-Version wie amd64 für Python3 und eine andere Win32-Datei für Python27

  1. dann pip install --user skfuzzy

Ich hoffe, es wird für Sie funktionieren

Rochan
quelle
0

Die Verwendung von Ressourcen unter http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy löst das Problem. Sie sollten jedoch auf die Kompatibilität der Versionen achten. Nachdem ich es einige Male versucht hatte, entschied ich mich schließlich, Python zu deinstallieren und installierte dann eine neue Version von Python zusammen mit numpy und installierte dann scipy. Dies löste mein Problem.

Sobhan Moosavi
quelle
Links zu externen Ressourcen werden empfohlen. Fügen Sie jedoch einen Kontext um den Link hinzu, damit Ihre Mitbenutzer eine Vorstellung davon haben, was es ist und warum es dort ist. Zitieren Sie immer den relevantesten Teil eines wichtigen Links, falls die Zielwebsite nicht erreichbar ist oder dauerhaft offline geht.
Pableiros
0

Mach das, es hat sich für mich gelöst pip install -U scikit-learn

Uday
quelle