Instalar SciPy y NumPy usando pip


157

Estoy tratando de crear las bibliotecas necesarias en un paquete que estoy distribuyendo. Requiere las bibliotecas SciPy y NumPy . Durante el desarrollo, instalé ambos usando

apt-get install scipy

que instaló SciPy 0.9.0 y NumPy 1.5.1, y funcionó bien.

Me gustaría hacer lo mismo usando pip install- para poder especificar dependencias en un setup.py de mi propio paquete.

El problema es que cuando intento:

pip install 'numpy==1.5.1'

funciona bien.

Pero entonces

pip install 'scipy==0.9.0'

falla miserablemente, con

raise self.notfounderror(self.notfounderror.__doc__)

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.

¿Cómo hago para que funcione?


Hmm, ¿estás seguro de que el pip funciona bien en numpy=1.5.1lugar de numpy==1.5.1(doble igual)?
Hugo Tavares

Estoy usando dobles iguales, eso fue un error tipográfico. Simplemente lo
escribí

55
Además de blas y lapack, necesita instalar blas-devely lapack-devel. Esto no se especifica en el documento, pero debe hacerse si desea instalar mediante PIP.
Iñigo Hernáez Corres

@ IñigoHernáezCorres (blas-devel y lapack-devel) también son YUMable, he aprendido, para aquellos de nosotros en Amazon-Linux.
Tommy

Respuestas:


34

Asumo experiencia de Linux en mi respuesta; Encontré que hay tres requisitos previos pip install scipypara proceder bien.

Vaya aquí: Instalando SciPY

Siga las instrucciones para descargar, compilar y exportar la variable env para BLAS y luego LAPACK . Tenga cuidado de no solo cortar y pegar ciegamente los comandos de shell: habrá algunas líneas que deberá seleccionar según su arquitectura, etc., y deberá corregir / agregar los directorios correctos que asume incorrectamente como bien.

La tercera cosa que puede necesitar es instalar numpy-f2py o su equivalente.

Ah, sí y, por último, es posible que necesite instalar gcc-gfortran ya que las bibliotecas anteriores son fuente de Fortran .


las instrucciones que vinculó en Instalación de SciPy se han eliminado, podría estar vinculando aquí ahora scipy.org/scipylib/building/windows.html
jxramos

30
-1; Esta respuesta se ha vuelto inútil por la ruptura del enlace. El meollo de la respuesta es "seguir las instrucciones" en el enlace, pero la página ha cambiado y ya no están allí. Además, el autor de la pregunta estaba usando un sistema operativo con apt-getsu administrador de paquetes, pero esta respuesta sí yum. No hay nada de malo en proporcionar respuestas que cubran plataformas adicionales, pero deben estar señalizadas como tales; esto será innecesariamente confuso para los noobs de Unix de lo contrario.
Mark Amery

55
Para instalar BLAS y LAPACK necesitas ejecutaryum install lapack-devel.x86_64 blas-devel.x86_64
Max L

331

Esto funcionó para mí en Ubuntu 14.04:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
pip install scipy

44
La instalación se libblas-dev liblapack-devresolvió, blaspero luego la obtuve, error: library dfftpack has Fortran sources but no Fortran compiler foundasí que necesitaba todo esto para poder instalar scipy. Gracias.
Naoko

66
Acabo de instalar libblas-dev liblapack-dev gfortran, funciona para mí en Ubuntu14.04
Jin

libblas fue motivo de error - no se encontraron recursos de lapack / blas
Oleg Abrazhaev

1
Amén por las respuestas no aceptadas que funcionan mejor que las aceptadas.
Felipe

para yum: yum install blas-devel lapack-devel atlas-devel gcc-gfortran
Alec McGail

76

necesita los paquetes de desarrollo libblas y liblapack si está usando Ubuntu.

aptitude install libblas-dev liblapack-dev
pip install scipy

13

Dado que las instrucciones anteriores para instalar con yum están rotas aquí están las instrucciones actualizadas para instalar en algo como fedora. He probado esto en "Amazon Linux AMI 2016.03"

sudo yum install atlas-devel lapack-devel blas-devel libgfortran
pip install scipy

6

Estaba trabajando en un proyecto que dependía de numpy y scipy. En una instalación limpia de Fedora 23, usando un entorno virtual de Python para Python 3.4 (también funcionó para Python 2.7), y con lo siguiente en mi setup.py (en el setup()método)

setup_requires=[
    'numpy',
],
install_requires=[
    'numpy',
    'scipy',
],

Descubrí que tenía que ejecutar lo siguiente para ir pip install -e .a trabajar:

pip install --upgrade pip

y

sudo dnf install atlas-devel gcc-{c++,gfortran} subversion redhat-rpm-config

El redhat-rpm-configes para uso de scipy redhat-hardened-cc1en lugar de regularcc1


3

En Windows python 3.5 , logré instalar scipyusando conda no pip :

conda install scipy

2

¿Qué sistema operativo es este? La respuesta puede depender del sistema operativo involucrado. Sin embargo, parece que necesita encontrar esta biblioteca BLAS e instalarla. No parece estar en PIP (así que tendrá que hacerlo a mano), pero si lo instala, debería permitirle avanzar en su instalación de SciPy.


Es ubuntu 11.10. Lo intenté, ese es exactamente mi problema. ¿Qué es la biblioteca y cómo la consigo?
eran

25
En Ubuntu, puede hacer, por ejemplo, sudo apt-get install liblapack-dev libatlas-devmás tal vez también python-dev gfortransi los echa de menos.
pv.

2
¡No hice esa publicación! ¿Que demonios?
Shayne

0

en mi caso, la mejora de pip hizo el truco. Además, he instalado scipy con el parámetro -U (actualice todos los paquetes a la última versión disponible)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.