Instalación de Windows Scipy: no se encontraron recursos de Lapack / Blas

169

Estoy tratando de instalar Python y una serie de paquetes en un escritorio de Windows 7 de 64 bits. He instalado Python 3.4, tengo instalado Microsoft Visual Studio C ++, y he instalado con éxito numpy, pandas y algunos otros. Recibo el siguiente error al intentar instalar scipy;

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

Estoy usando pip install offline, el comando de instalación que estoy usando es;

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

He leído las publicaciones aquí sobre la necesidad de un compilador que, si entiendo correctamente, es el compilador VS C ++. Estoy usando la versión 2010 como estoy usando Python 3.4. Esto ha funcionado para otros paquetes.

¿Tengo que usar el binario de la ventana o hay alguna manera de hacer que la instalación de pip funcione?

Muchas gracias por la ayuda

tjb305
fuente
44
Creo que requiere un compilador Fortran. Pero si los binarios preconstruidos son aceptables, puede usar los paquetes de ruedas nudosas y descuidadas de Christoph Gohlke con pip.
Eryk dom
Gracias Eryksun, estoy descargando los binarios para ver si eso soluciona el problema.
tjb305
Frustrantemente, cuando trato de instalar el binario, dice que no tengo Python 3.4 instalado, aunque esté allí en PATH.
tjb305
Pruebapy -3.4 -m pip install SomePackage.whl
Eryk Sun
2
Yo también tuve este problema. No pude hacer que pip funcionara, pero esto funcionó para mí (en Widows): sourceforge.net/projects/scipy/files/scipy
MackM

Respuestas:

33

Aquí se describe la solución a la ausencia de bibliotecas BLAS / LAPACK para instalaciones de SciPy en Windows 7 de 64 bits:

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

Instalar Anaconda es mucho más fácil, pero aún así no obtienes soporte para Intel MKL o GPU sin pagarlo (están en los complementos MKL Optimizaciones y Acelerar para Anaconda; tampoco estoy seguro de si usan PLASMA y MAGMA) . Con la optimización MKL, numpy ha superado en 10 veces a IDL en cálculos de matrices grandes. MATLAB usa la biblioteca Intel MKL internamente y es compatible con la computación GPU, por lo que uno podría usar eso por el precio si son estudiantes ($ 50 por MATLAB + $ 10 por la Caja de herramientas de computación paralela). Si obtiene la versión de prueba gratuita de Intel Parallel Studio, viene con la biblioteca MKL, así como con los compiladores C ++ y FORTRAN que serán útiles si desea instalar BLAS y LAPACK desde MKL o ATLAS en Windows:

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

Parallel Studio también viene con la biblioteca Intel MPI, útil para aplicaciones de computación en clúster y sus últimos procesadores Xeon. Si bien el proceso de creación de BLAS y LAPACK con la optimización MKL no es trivial, los beneficios de hacerlo para Python y R son bastante grandes, como se describe en este seminario web de Intel:

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

Anaconda y Enthought han creado negocios al hacer que esta funcionalidad y algunas otras cosas sean más fáciles de implementar. Sin embargo, está disponible gratuitamente para aquellos dispuestos a hacer un poco de trabajo (y un poco de aprendizaje).

Para aquellos que usan R, ahora puede obtener BLAS y LAPACK optimizados para MKL de forma gratuita con R Open de Revolution Analytics.

EDITAR: Anaconda Python ahora viene con optimización MKL, así como soporte para varias otras optimizaciones de la biblioteca Intel a través de la distribución Intel Python. Sin embargo, el soporte de GPU para Anaconda en la biblioteca Accelerate (anteriormente conocida como NumbaPro) ¡todavía supera los $ 10k USD! Las mejores alternativas para eso son probablemente PyCUDA y scikit-cuda, ya que la cabeza de cobre (esencialmente una versión gratuita de Anaconda Accelerate) desafortunadamente dejó de desarrollarse hace cinco años. Se puede encontrar aquí si alguien quiere continuar donde lo dejó.

Adam Erickson
fuente
El único problema con icl.cs.utk.edu/lapack-for-windows/lapack es que es confuso. ¿Alguien tiene consejos sobre qué hacer con él?
gseattle
1
Respuesta corta: usa Anaconda
jordiburgos
Yo uso Anaconda y sigo recibiendo el error. Tuve que descargar el archivo whl, incluido mkl, e instalarlo para que funcione. (Ver la respuesta de Jaanus a continuación: vainilla numpy no es suficiente)
marts
1
2017 aquí: lo hice funcionar usando el método aquí . No es tan malo una vez que lo entiendes, pero no es tan sencillo como debería ser.
Jonathan Porter
El primer enlace está roto. Creo que debería ser scipy.github.io/devdocs/building/windows.html en su lugar.
ChickenFeet
120

El siguiente enlace debería resolver todos los problemas con Windows y SciPy ; solo elige la descarga adecuada. Pude instalar pip el paquete sin problemas. Todas las demás soluciones que he probado me dieron grandes dolores de cabeza.

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

Mando:

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

Esto supone que ya ha instalado lo siguiente:

  1. Instale Visual Studio 2015/2013 con Python Tools
    (está integrado en las opciones de configuración en la instalación de 2015)

  2. Instale el compilador de Visual Studio C ++ para Python
    Fuente: http://www.microsoft.com/en-us/download/details.aspx?id=44266
    Nombre de archivo:VCForPython27.msi

  3. Instale la versión de Python que elija
    Fuente: nombre de
    archivo python.org (por ejemplo):python-2.7.10.amd64.msi

Drewid
fuente
9
@Nozdrum y aquellos que quieran usar ese método, simplemente necesita instalar numpy + mkl antes de scipy para tener acceso a blas.
Holt
1
Además, es posible que desee utilizar la instalación de SciPy desde el mismo sitio señalado por @Holt. Tuve que usar el Numpy + MKL y el SciPy suministrado en los archivos WHL para que funcionara.
Jesuisme
2
¿Supongo que esta solución solo funciona con Python 2.7? Parece que no hay compilador para Python 3 a partir de agosto de 2016
geneorama
2
Esto funciona como un encanto. Es posible que desee tener en cuenta que el cp27 en los nombres de archivo apunta a la versión de python para la que .whl es, así que descargue cp35 si está ejecutando python 3.5, cp27 para 2.7, etc.
Alexander Micklewright
2
Solo quería resaltar lo que escribió @AlexanderMicklewright. Para mí no era obvio que se cpXXrefiere a la versión XX de (C) Python. Acabo de elegir implícitamente la versión más alta cp36, aunque estoy ejecutando Python 3.5.
Czechnology
98

La versión de mi pitón es 2.7.10, Windows 7 de 64 bits.

  1. Descargar scipy-0.18.0-cp27-cp27m-win_amd64.whldesdehttp://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. Abierto cmd
  3. Asegúrese de que scipy-0.18.0-cp27-cp27m-win_amd64.whlesté en cmdel directorio actual de, luego escriba pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl.

Será exitosamente instalado.

stmatengss
fuente
17
Esto debe ser marcado como la respuesta; funcionó y es la forma más sencilla de instalarlo.
Tensigh
No estoy seguro de cuál es el papel del archivo scikits.vectorplot-0.1.1-cp27-none-win_amd64.whl aquí. Acabo de descargar el archivo scipy-0.18.0-cp27-cp27m-win_amd64.whl desde el enlace dado que instaló con éxito scipy. Luego se me solicitó que me faltara numpy + mkl. Lo descargué usando el mismo enlace y lo instalé usando pip install. Funciona muy bien y estoy de acuerdo en que esta es la solución más fácil que encontré.
beeprogrammer
55
Funciona con Python 3.6 y Windows 10 también.
¡Gracias! solución simple y fácil
Dinesh
Su solución también funcionó con Python 3.5 y Windows 10.
Nicola Pesavento
30

Perdón por necro, pero este es el primer resultado de búsqueda de Google. Esta es la solución que funcionó para mí:

  1. Descargue numpy + mkl wheel desde http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy . Use la versión que sea la misma que su versión de Python (verifique usando python -V). P.ej. si su python es 3.5.2, descargue la rueda que muestra cp35

  2. Abra el símbolo del sistema y navegue a la carpeta donde descargó la rueda. Ejecute el comando: pip install [nombre de archivo de la rueda]

  3. Descargue la rueda SciPy de: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (similar al paso anterior).

  4. Como arriba, pip install [nombre de archivo de la rueda]

aleksk
fuente
Está completamente bien publicar respuestas a preguntas muertas. De hecho, en realidad lo revisamos cada vez que un nuevo usuario hace esto.
Nissa
2
Esto funcionó para mí para Python 3.5 de 32 bits en Windows 8 de 64 bits, a partir del 8 de enero de 2017
Rob Mulder el
1
gracias, trabajé para Python 3.6 con numpy 1.13.1 + mkl, pandas 0.20.3, scikit-learn 0.18.2, scipy 0.19.1
zina
1
esto funcionó para mí en Windows 10 x64 usando Python 3.6.2
Jeff Lindborg
20

Esta fue la orden en la que todo funcionaba. El segundo punto es el más importante. Scipy necesita Numpy+MKL, no solo vainilla Numpy.

  1. Instalar python 3.5
  2. pip install "file path"(descargue la rueda Numpy + MKL desde aquí http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy )
  3. pip install scipy
Jaanus
fuente
77
Bueno, hice los pasos 1) y 2), pero en el tercero, estaba recibiendo el mismo error. Entonces, después de los pasos 1) y 2) tuve que descargar manualmente el paquete Scipy.whl desde aquí: lfd.uci.edu/~gohlke/pythonlibs/#scipy e instalar pip "ruta descargada scipy". ¡Ahora funciona muy bien!
Geraldo Neto
5

Si está trabajando con Windows y Visual Studio 2015

Ingrese los siguientes comandos

  • "conda install numpy"
  • "conda instalar pandas"
  • "conda install scipy"
maníaco
fuente
2

Instalación simple y rápida de Scipy en Windows

  1. Desde http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipydescargar el paquete Scipy correcto para su versión de Python (por ejemplo, el paquete correcto para python 3.5 y Windows x64 es scipy-0.19.1-cp35-cp35m-win_amd64.whl).
  2. Abra cmddentro del directorio que contiene el paquete descargado de Scipy.
  3. Tipo pip install <<your-scipy-package-name>>(p. Ej. Pip install scipy-0.19.1-cp35-cp35m-win_amd64.whl).
Nicola Pesavento
fuente
55
Obtuve 'scipy-0.19.1-cp36-cp36m-win_amd64.whl no es una rueda compatible en esta plataforma'. Al hacer esto.
erizo demente
1

Intel ahora proporciona una distribución Python para Linux / Windows / OS X de forma gratuita llamada " Distribución Intel para Python ".

Es una distribución completa de Python (por ejemplo, python.exe está incluida en el paquete) que incluye algunos módulos preinstalados compilados contra MKL (Math Kernel Library) de Intel y optimizados para un rendimiento más rápido.

La distribución incluye los módulos NumPy, SciPy, scikit-learn, pandas, matplotlib, Numba, tbb, pyDAAL, Jupyter y otros. El inconveniente es un poco de retraso en la actualización a versiones más recientes de Python. Por ejemplo, a partir de hoy (1 de mayo de 2017) la distribución proporciona CPython 3.5 mientras que la versión 3.6 ya está fuera. Pero si no necesita las nuevas funciones, deberían estar perfectamente bien.

raffaem
fuente
¿Sabes si las bibliotecas BLAS utilizadas son "dinámicas"? Estoy usando theano, y si las bibliotecas son "estáticas", aparecen muchos problemas.
Daniel Möller
@Daniel, ¿qué quieres decir con bibliotecas estáticas? Python es un lenguaje interpretado. ¿Cómo estás usando bibliotecas enlazadas estáticamente? Pero no soy un experto en este campo. Así que posiblemente me estoy perdiendo algo
raffaem
O no lo entiendo muy bien también. Pero ese es un problema real para usar theano. Necesita que las bibliotecas BLAS sean dinámicas (¿tal vez dinámicamente vinculadas a numpy en lugar de estáticamente vinculadas a numpy?). Pyton usa una serie de bibliotecas compiladas, por eso puede funcionar tan rápido aunque interpretado.
Daniel Möller
1

También recibí el mismo error al instalar scikit-fuzzy. Resolví el error de la siguiente manera:

  1. Instale Numpy , un archivo whl
  2. Instale Scipy , nuevamente un archivo whl

elija el archivo de acuerdo con la versión de python como amd64 para python3 y otro archivo win32 para python27

  1. luego pip install --user skfuzzy

Espero que funcione para ti

Rochan
fuente
0

El uso de recursos en http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy resolverá el problema. Sin embargo, debe tener cuidado con la compatibilidad de versiones. Después de intentarlo varias veces, finalmente decidí desinstalar python y luego instalé una versión nueva de python junto con numpy y luego instalé scipy y esto resolvió mi problema.

Sobhan Moosavi
fuente
Se recomiendan enlaces a recursos externos, pero agregue contexto alrededor del enlace para que sus usuarios tengan una idea de qué es y por qué está allí. Siempre cite la parte más relevante de un enlace importante, en caso de que no se pueda acceder al sitio de destino o se desconecte permanentemente.
pableiros
0

haz esto, me resolvió pip install -U scikit-learn

Uday
fuente