Installation de Windows Scipy: aucune ressource Lapack / Blas trouvée

169

J'essaie d'installer python et une série de packages sur un bureau Windows 7 64 bits. J'ai installé Python 3.4, installé Microsoft Visual Studio C ++ et installé avec succès numpy, pandas et quelques autres. J'obtiens l'erreur suivante en essayant d'installer scipy;

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

J'utilise pip install hors ligne, la commande d'installation que j'utilise est;

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

J'ai lu les articles ici sur la nécessité d'un compilateur qui, si je comprends bien, est le compilateur VS C ++. J'utilise la version 2010 comme j'utilise Python 3.4. Cela a fonctionné pour d'autres packages.

Dois-je utiliser le binaire window ou y a-t-il un moyen de faire fonctionner pip install?

Merci beaucoup pour l'aide

tjb305
la source
4
Je pense que cela nécessite un compilateur Fortran. Mais si les binaires pré-construits sont acceptables, vous pouvez utiliser les packages numpy et scipy wheel de Christoph Gohlke avec pip.
Eryk Sun
Merci Eryksun, je télécharge les binaires pour voir si cela résout le problème.
tjb305
Frustrant quand j'essaye d'installer le binaire, il prétend que je n'ai pas Python 3.4 installé, même s'il est là dans PATH.
tjb305
Essayezpy -3.4 -m pip install SomePackage.whl
Eryk Sun
2
J'ai aussi eu ce problème. Je n'ai pas pu faire fonctionner pip, mais cela a fonctionné pour moi (sur Widows): sourceforge.net/projects/scipy/files/scipy
MackM

Réponses:

33

La solution à l'absence de bibliothèques BLAS / LAPACK pour les installations SciPy sur Windows 7 64 bits est décrite ici:

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

L'installation d'Anaconda est beaucoup plus facile, mais vous n'obtenez toujours pas le support Intel MKL ou GPU sans le payer (ils sont dans les modules complémentaires MKL Optimisations et Accelerate pour Anaconda - je ne sais pas s'ils utilisent PLASMA et MAGMA non plus) . Avec l'optimisation MKL, numpy a surpassé de 10 fois l'IDL sur les calculs matriciels volumineux. MATLAB utilise la bibliothèque Intel MKL en interne et prend en charge le calcul GPU, donc on pourrait aussi bien l'utiliser pour le prix s'ils sont un étudiant (50 $ pour MATLAB + 10 $ pour la boîte à outils Parallel Computing). Si vous obtenez l'essai gratuit d'Intel Parallel Studio, il est livré avec la bibliothèque MKL, ainsi que des compilateurs C ++ et FORTRAN qui vous seront utiles si vous souhaitez installer BLAS et LAPACK à partir de MKL ou ATLAS sous Windows:

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

Parallel Studio est également livré avec la bibliothèque Intel MPI, utile pour les applications de calcul en cluster et leurs derniers processeurs Xeon. Bien que le processus de création de BLAS et LAPACK avec l'optimisation MKL ne soit pas trivial, les avantages de le faire pour Python et R sont assez importants, comme décrit dans ce webinaire Intel:

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

Anaconda et Enthought ont développé des entreprises en rendant cette fonctionnalité et quelques autres choses plus faciles à déployer. Cependant, il est disponible gratuitement pour ceux qui souhaitent faire un peu de travail (et un peu d'apprentissage).

Pour ceux qui utilisent R, vous pouvez maintenant obtenir gratuitement BLAS et LAPACK optimisés pour MKL avec R Open de Revolution Analytics.

EDIT: Anaconda Python est désormais livré avec l'optimisation MKL, ainsi que la prise en charge d'un certain nombre d'autres optimisations de bibliothèques Intel via la distribution Intel Python. Cependant, le support GPU pour Anaconda dans la bibliothèque Accelerate (anciennement NumbaPro) est toujours supérieur à 10 000 USD! Les meilleures alternatives pour cela sont probablement PyCUDA et scikit-cuda, car Copperhead (essentiellement une version gratuite d'Anaconda Accelerate) a malheureusement cessé son développement il y a cinq ans. Il peut être trouvé ici si quelqu'un veut reprendre là où il s'est arrêté.

Adam Erickson
la source
Le seul problème avec icl.cs.utk.edu/lapack-for-windows/lapack est qu'il est déroutant. Quelqu'un a-t-il des conseils sur ce qu'il faut faire avec?
gseattle
1
Réponse courte: utilisez Anaconda
jordiburgos
J'utilise Anaconda et j'obtiens toujours l'erreur. J'ai dû télécharger le fichier whl comprenant mkl et l'installer pour le faire fonctionner. (Voir la réponse de Jaanus ci-dessous: la vanille numpy ne suffit pas)
marts
1
2017 ici - je l'ai fait fonctionner en utilisant la méthode ici . Ce n'est pas trop mal une fois que vous avez compris, mais ce n'est pas aussi simple qu'il devrait l'être.
Jonathan Porter
Le premier lien est rompu. Je pense que cela devrait être scipy.github.io/devdocs/building/windows.html à la place.
ChickenFeet
120

Le lien suivant devrait résoudre tous les problèmes avec Windows et SciPy ; choisissez simplement le téléchargement approprié. J'ai pu installer le package sans aucun problème. Toutes les autres solutions que j'ai essayées m'ont donné de gros maux de tête.

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

Commander:

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

Cela suppose que vous avez déjà installé les éléments suivants:

  1. Installer Visual Studio 2015/2013 avec Python Tools
    (est intégré dans les options de configuration lors de l'installation de 2015)

  2. Installez le compilateur Visual Studio C ++ pour Python
    Source: http://www.microsoft.com/en-us/download/details.aspx?id=44266
    Nom du fichier:VCForPython27.msi

  3. Installer la version Python de votre choix
    Source: python.org
    Nom du fichier (par exemple):python-2.7.10.amd64.msi

dessiné
la source
9
@Nozdrum et ceux qui veulent utiliser cette méthode, il vous suffit d'installer numpy + mkl avant scipy pour avoir accès à blas.
Holt
1
En outre, vous souhaiterez peut-être utiliser l'installation de SciPy à partir du même site pointé par @Holt. J'ai dû utiliser le Numpy + MKL et le SciPy fournis dans les fichiers WHL pour le faire fonctionner.
Jesuisme
2
Je suppose que cette solution ne fonctionne qu'avec Python 2.7? Il semble qu'il n'y ait pas de compilateur pour Python 3 en août 2016
geneorama
2
Cela fonctionne comme un charme. Vous voudrez peut-être noter que le cp27 dans les noms de fichiers pointe vers la version de python le .whl est pour alors téléchargez cp35 si vous utilisez python 3.5, cp27 pour 2.7 etc.
Alexander Micklewright
2
Je voulais juste souligner ce que @AlexanderMicklewright a écrit. Il n'était pas évident pour moi que le se cpXXréfère à la version XX de (C) Python. J'ai simplement choisi implicitement la version la plus élevée cp36, bien que j'utilise Python 3.5.
Czechnology
98

La version de mon python est 2.7.10, Windows 7 64 bits.

  1. Télécharger scipy-0.18.0-cp27-cp27m-win_amd64.whldepuishttp://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. Ouvert cmd
  3. Assurez-vous qu'il se scipy-0.18.0-cp27-cp27m-win_amd64.whltrouve dans cmdle répertoire courant de, puis tapez pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl.

Il sera installé avec succès.

stmatengss
la source
17
Cela devrait être marqué comme la réponse; cela a fonctionné et c'est le moyen le plus simple de l'installer.
Tensigh
Je ne sais pas quel est le rôle du fichier scikits.vectorplot-0.1.1-cp27-none-win_amd64.whl ici. Je viens de télécharger le fichier scipy-0.18.0-cp27-cp27m-win_amd64.whl à partir du lien donné qui a installé avec succès scipy. Ensuite, on m'a demandé de manquer numpy + mkl. J'ai téléchargé en utilisant le même lien et installé à l'aide de pip install. Fonctionne très bien et je suis d'accord que c'est la solution la plus simple que j'ai trouvée.
beeprogrammer
5
Fonctionne également avec Python 3.6 et Windows 10.
Merci! solution simple et facile
Dinesh
Votre solution fonctionnait également avec Python 3.5 et Windows 10.
Nicola Pesavento
30

Désolé pour necro, mais c'est le premier résultat de recherche Google. C'est la solution qui a fonctionné pour moi:

  1. Téléchargez la roue numpy + mkl depuis http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy . Utilisez la version qui est la même que votre version python (vérifiez avec python -V). Par exemple. si votre python est 3.5.2, téléchargez la roue qui affiche cp35

  2. Ouvrez l'invite de commande et accédez au dossier dans lequel vous avez téléchargé la roue. Exécutez la commande: pip install [nom de fichier de la roue]

  3. Téléchargez la roue SciPy sur: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (similaire à l'étape ci-dessus).

  4. Comme ci-dessus, pip install [nom de fichier de la roue]

Aleksk
la source
Il est tout à fait normal de publier des réponses à des questions mortes. En fait, nous l' examinons chaque fois qu'un nouvel utilisateur le fait.
Nissa
2
Cela a fonctionné pour moi pour Python 3.5 32 bits sur Windows 8 64 bits, à compter du 8 janvier 2017
Rob Mulder
1
merci, a travaillé pour Python 3.6 avec numpy 1.13.1 + mkl, pandas 0.20.3, scikit-learn 0.18.2, scipy 0.19.1
zina
1
cela a fonctionné pour moi sur Windows 10 x64 en utilisant Python 3.6.2
Jeff Lindborg
20

C'était l'ordre dans lequel tout fonctionnait. Le deuxième point est le plus important. Scipy a besoin Numpy+MKL, pas seulement de vanille Numpy.

  1. Installez python 3.5
  2. pip install "file path"(téléchargez la roue Numpy + MKL ici http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy )
  3. pip install scipy
Jaanus
la source
7
Eh bien, j'ai fait les étapes 1) et 2), mais dans la troisième, j'obtenais la même erreur. Donc, après les étapes 1) et 2), j'ai dû télécharger manuellement le paquet Scipy.whl à partir d'ici: lfd.uci.edu/~gohlke/pythonlibs/#scipy et pip installer "scipy download path". Maintenant, cela fonctionne très bien!
Geraldo Neto
5

Si vous travaillez avec Windows et Visual Studio 2015

Entrez les commandes suivantes

  • "conda install numpy"
  • "conda installer des pandas"
  • "conda installer scipy"
maniaque
la source
2

Installation simple et rapide de Scipy sous Windows

  1. De http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipytélécharger le package Scipy correct pour votre version Python (par exemple, le package correct pour python 3.5 et Windows x64 est scipy-0.19.1-cp35-cp35m-win_amd64.whl).
  2. Ouvrez cmddans le répertoire contenant le package Scipy téléchargé.
  3. Tapez pip install <<your-scipy-package-name>>(par exemple, pip install scipy-0.19.1-cp35-cp35m-win_amd64.whl).
Nicola Pesavento
la source
5
J'ai 'scipy-0.19.1-cp36-cp36m-win_amd64.whl n'est pas une roue prise en charge sur cette plate-forme.' en faisant cela.
hérisson dément
1

Intel fournit désormais gratuitement une distribution Python pour Linux / Windows / OS X appelée « distribution Intel pour Python ».

Il s'agit d'une distribution Python complète (par exemple, python.exe est inclus dans le package) qui comprend des modules préinstallés compilés avec la MKL (Math Kernel Library) d'Intel et donc optimisés pour des performances plus rapides.

La distribution comprend les modules NumPy, SciPy, scikit-learn, pandas, matplotlib, Numba, tbb, pyDAAL, Jupyter et autres. L'inconvénient est un peu de retard dans la mise à niveau vers des versions plus récentes de Python. Par exemple, à partir d'aujourd'hui (1er mai 2017), la distribution fournit CPython 3.5 alors que la version 3.6 est déjà sortie. Mais si vous n'avez pas besoin des nouvelles fonctionnalités, elles devraient parfaitement fonctionner.

raffaem
la source
Savez-vous si les bibliothèques BLAS utilisées sont "dynamiques"? J'utilise theano, et si les bibliothèques sont "statiques", de nombreux problèmes apparaissent.
Daniel Möller
@Daniel qu'entendez-vous par bibliothèques statiques? Python est un langage interprété. Comment utilisez-vous les bibliothèques liées statiquement? Mais je ne suis pas expert dans ce domaine. Donc peut-être que je manque quelque chose
raffaem
O ne le comprends pas très bien aussi. Mais c'est un vrai problème pour l'utilisation de theano. Il faut que les bibliothèques BLAS soient dynamiques (peut-être liées dynamiquement à numpy au lieu d'être liées statiquement à numpy?) - Pyton utilise une série de bibliothèques compilées, c'est pourquoi cela peut fonctionner si vite bien qu'interprété.
Daniel Möller
1

J'obtenais également la même erreur lors de l'installation de scikit-fuzzy. J'ai résolu l'erreur comme suit:

  1. Installez Numpy , un fichier whl
  2. Installez Scipy , encore un fichier whl

choisissez le fichier en fonction de la version de python comme amd64 pour python3 et un autre fichier win32 pour le python27

  1. puis pip install --user skfuzzy

J'espère que cela fonctionnera pour vous

Rochan
la source
0

L'utilisation des ressources sur http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy résoudra le problème. Cependant, vous devez faire attention à la compatibilité des versions. Après avoir essayé plusieurs fois, j'ai finalement décidé de désinstaller python, puis j'ai installé une nouvelle version de python avec numpy, puis j'ai installé scipy et cela a résolu mon problème.

Sobhan Moosavi
la source
Les liens vers des ressources externes sont encouragés, mais veuillez ajouter du contexte autour du lien afin que vos collègues utilisateurs aient une idée de ce que c'est et pourquoi il est là. Citez toujours la partie la plus pertinente d'un lien important, au cas où le site cible serait inaccessible ou serait définitivement hors ligne.
pableiros
0

fais ça, ça a résolu pour moi pip install -U scikit-learn

Uday
la source