qqplot - ¿Python SciPy necesita BLAS?
quantile quantile plot python (7)
En Fedora, esto funciona:
yum install lapack lapack-devel blas blas-devel
pip install numpy
pip install scipy
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 ".
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é alquitrán necesito descargar de este sitio?
He probado los fortrans, pero sigo recibiendo este error (después de establecer la variable de entorno obviamente).
Intenta usar
sudo apt-get install python3-scipy
La página web de SciPy solía proporcionar instrucciones de compilación e instalación, pero las instrucciones allí ahora se basan en las 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 :
mkdir -p ~/src/
cd ~/src/
wget http://www.netlib.org/blas/blas.tgz
tar xzf blas.tgz
cd BLAS-*
## NOTE: The selected Fortran compiler must be consistent for BLAS, LAPACK, NumPy, and SciPy.
## For GNU compiler on 32-bit systems:
#g77 -O2 -fno-second-underscore -c *.f # with g77
#gfortran -O2 -std=legacy -fno-second-underscore -c *.f # with gfortran
## OR for GNU compiler on 64-bit systems:
#g77 -O3 -m64 -fno-second-underscore -fPIC -c *.f # with g77
gfortran -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f # with gfortran
## OR for Intel compiler:
#ifort -FI -w90 -w95 -cm -O3 -unroll -c *.f
# Continue below irrespective of compiler:
ar r libfblas.a *.o
ranlib libfblas.a
rm -rf *.o
export BLAS=~/src/BLAS-*/libfblas.a
Ejecute solo uno de los cinco comandos g77 / gfortran / ifort. He comentado todo, pero el gfortran que uso. La posterior instalación de LAPACK requiere un compilador Fortran 90 , y dado que ambas instalaciones deben usar el mismo compilador Fortran, g77 no se debe utilizar para BLAS.
A continuación, tendrá que instalar las cosas LAPACK. Las instrucciones de la página web de SciPy también me ayudaron aquí, pero tuve que modificarlas para adaptarlas a mi entorno:
mkdir -p ~/src
cd ~/src/
wget http://www.netlib.org/lapack/lapack.tgz
tar xzf lapack.tgz
cd lapack-*/
cp INSTALL/make.inc.gfortran make.inc # On Linux with lapack-3.2.1 or newer
make lapacklib
make clean
export LAPACK=~/src/lapack-*/liblapack.a
Actualización el 3 de septiembre de 2015: verificó algunos comentarios hoy (gracias a todos): antes de ejecutar make lapacklib
edite el archivo make.inc
y agregue la opción OPTS
a OPTS
y configuración de NOOPT
. Si está en una arquitectura de 64 bits o desea compilar para uno, también agregue -m64
. Es importante que BLAS y LAPACK se compilen con estas opciones establecidas en los mismos valores. Si olvida el -fPIC
SciPy realmente le dará un error acerca de los símbolos que faltan y recomendará este cambio. La sección específica de make.inc
ve así en mi configuración:
FORTRAN = gfortran
OPTS = -O2 -frecursive -fPIC -m64
DRVOPTS = $(OPTS)
NOOPT = -O0 -frecursive -fPIC -m64
LOADER = gfortran
En máquinas viejas (por ejemplo, RedHat 5), gfortran podría instalarse en una versión anterior (por ejemplo, 4.1.2) y no comprender la opción -frecursive
. Simplemente quítelo del archivo make.inc
en tales casos.
El objetivo de prueba de lapack del Makefile falla en mi configuración porque no puede encontrar las bibliotecas de blas. Si eres minucioso puedes mover temporalmente la biblioteca blas a la ubicación especificada para probar la lapack. Soy una persona perezosa, así que confío en los desarrolladores para que funcione y verifique solo en SciPy.
Para los usuarios de Windows hay un buen paquete binario de Chris (advertencia: es una descarga bastante grande, 191 MB):
Seguir las instrucciones dadas por ''cfi'' me funciona, aunque hay algunas piezas que omitieron que podría necesitar:
1) Su directorio lapack, después de descomprimirlo, puede llamarse lapack-XY (algún número de versión), por lo que puede cambiarle el nombre a LAPACK.
cd ~/src
mv lapack-[tab] LAPACK
2) En ese directorio, es posible que deba hacer:
cd ~/src/LAPACK
cp lapack_LINUX.a libflapack.a
Si necesita utilizar las últimas versiones de SciPy en lugar de la versión empaquetada, sin pasar por la molestia de compilar BLAS y LAPACK, puede seguir el procedimiento que se detalla a continuación.
Instalar bibliotecas de álgebra lineal desde el repositorio (para Ubuntu),
sudo apt-get install gfortran libopenblas-dev liblapack-dev
Luego instale SciPy, (después de descargar la fuente SciPy): python setup.py install
o
pip install scipy
Según el caso puede ser.
Supongo que estás hablando de la instalación en Ubuntu. Solo usa:
apt-get install python-numpy python-scipy
Eso debería encargarse de que las librerías BLAS se compilen también. De lo contrario, compilar las bibliotecas BLAS es muy difícil.