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.
¿Qué tar necesito descargar de este sitio?
He probado los fortrans, pero sigo recibiendo este error (después de configurar la variable de entorno, obviamente).
Respuestas:
La página web de SciPy solía proporcionar instrucciones de compilación e instalación, pero las instrucciones ahora se basan en distribuciones binarias del sistema operativo. Para compilar SciPy (y NumPy) en sistemas operativos sin paquetes precompilados de las bibliotecas requeridas, debe compilar y luego vincular estáticamente a las bibliotecas Fortran BLAS y LAPACK :
Ejecute solo uno de los cinco comandos g77 / gfortran / ifort. He comentado todo, pero el gfortran que uso. La instalación posterior de LAPACK requiere un compilador Fortran 90 , y dado que ambas instalaciones deben usar el mismo compilador Fortran, g77 no debe usarse para BLAS.
A continuación, deberá instalar el material LAPACK. Las instrucciones de la página web de SciPy también me ayudaron aquí, pero tuve que modificarlas para adaptarlas a mi entorno:
Actualización el 3 de septiembre de 2015: verificó algunos comentarios hoy (gracias a todos): antes de ejecutar,
make lapacklib
edite elmake.inc
archivo y agregue la-fPIC
opciónOPTS
y laNOOPT
configuración. Si está en una arquitectura de 64 bits o desea compilar una, también agregue-m64
. Es importante que BLAS y LAPACK se compilen con estas opciones configuradas con los mismos valores. Si olvida que-fPIC
SciPy en realidad le dará un error sobre los símbolos que faltan y recomendará este interruptor. La sección específica de semake.inc
ve así en mi configuración:En máquinas antiguas (p. Ej., RedHat 5), gfortran podría instalarse en una versión anterior (p. Ej., 4.1.2) y no comprende la opción
-frecursive
. Simplemente elimínelo delmake.inc
archivo en tales casos.El objetivo de prueba lapack del Makefile falla en mi configuración porque no puede encontrar las bibliotecas de blas. Si es minucioso, puede mover temporalmente la biblioteca de blas a la ubicación especificada para probar el paquete. Soy una persona perezosa, así que confío en los desarrolladores para que funcione y verifique solo en SciPy.
fuente
make.inc
archivo configurandoOPTS = -O2 -fPIC
yNOOPT = -O0 -fPIC
.export LAPACK=~/src/lapack-3.5.0/
lugar de agregarlibflapack.a
al final.Si necesita usar las últimas versiones de SciPy en lugar de la versión empaquetada, sin pasar por la molestia de construir BLAS y LAPACK, puede seguir el siguiente procedimiento.
Instalar bibliotecas de álgebra lineal desde el repositorio (para Ubuntu),
Luego instale SciPy, (después de descargar la fuente SciPy):
python setup.py install
oSegún el caso puede ser.
fuente
libopenblas-dev
alibblas-dev
(Ubuntu 10.04).sudo apt-get install python-dev
arreglado. stackoverflow.com/a/21530768/125507sudo yum install blas-devel lapack-devel
funcionó para míEn Fedora, esto funciona:
Recuerde instalar ' lapack-devel ' y ' blas-devel ' además de 'blas' y 'lapack'; de lo contrario, obtendrá el error que mencionó o el error "numpy.distutils.system_info. LapackNotFoundError ".
fuente
blas-static
Ylapack-static
se requerían para mí en Fedora 20.Supongo que estás hablando de instalación en Ubuntu. Solo usa:
Eso también debería ocuparse de la compilación de bibliotecas BLAS. De lo contrario, compilar las bibliotecas BLAS es muy difícil.
fuente
pip install scipy
o construirlo desde la fuente en un entorno virtual.Para los usuarios de Windows hay un buen paquete binario de Chris (advertencia: es una descarga bastante grande, 191 MB):
fuente
Seguir las instrucciones dadas por 'cfi' funciona para mí, aunque hay algunas piezas que dejaron fuera que pueda necesitar:
1) Su directorio lapack, después de descomprimir, puede llamarse lapack-XY (algún número de versión), por lo que puede cambiarle el nombre a LAPACK.
2) En ese directorio, es posible que deba hacer:
fuente
Intenta usar
fuente