Installer SciPy et NumPy à l'aide de pip

157

J'essaie de créer les bibliothèques requises dans un package que je distribue. Il nécessite à la fois les bibliothèques SciPy et NumPy . Lors du développement, j'ai installé les deux en utilisant

apt-get install scipy

qui a installé SciPy 0.9.0 et NumPy 1.5.1, et cela a bien fonctionné.

Je voudrais faire de même en utilisant pip install- afin de pouvoir spécifier des dépendances dans un setup.py de mon propre package.

Le problème est que lorsque j'essaye:

pip install 'numpy==1.5.1'

ça fonctionne bien.

Mais alors

pip install 'scipy==0.9.0'

échoue lamentablement, avec

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.

Comment le faire fonctionner?

eran
la source
Hmm, êtes-vous sûr que pip fonctionne bien avec numpy=1.5.1au lieu de numpy==1.5.1(double égal)?
Hugo Tavares
J'utilise le double égal, c'était une faute de frappe. Je viens de le taper ici au lieu de copier-coller :)
eran
5
Outre blas et lapack, vous devez installer blas-develet lapack-devel. Ceci n'est pas spécifié dans le document, mais doit être fait si vous souhaitez installer en utilisant PIP.
Iñigo Hernáez Corres
@ IñigoHernáezCorres (blas-devel et lapack-devel) sont également YUMable, j'ai appris, pour ceux d'entre nous sur amazon-linux.
Tommy

Réponses:

34

J'assume l'expérience Linux dans ma réponse; J'ai trouvé qu'il y avait trois conditions préalables pour pip install scipypouvoir procéder correctement.

Allez ici: Installer SciPY

Suivez les instructions pour télécharger, créer et exporter la variable env pour BLAS , puis LAPACK . Veillez à ne pas simplement couper et coller aveuglément les commandes du shell - vous devrez sélectionner quelques lignes en fonction de votre architecture, etc., et vous devrez corriger / ajouter les répertoires corrects qu'il suppose à tort comme bien.

La troisième chose dont vous pourriez avoir besoin est d' installer yum numpy-f2py ou l'équivalent.

Oh, oui et enfin, vous devrez peut-être yum installer gcc-gfortran car les bibliothèques ci-dessus sont des sources Fortran .

David Kierans
la source
les instructions que vous avez liées dans l' installation de SciPy ont été supprimées, peuvent être liées
jxramos
30
-1; cette réponse a été rendue inutile par une rupture de lien. La viande de la réponse est de "suivre les instructions" sur le lien, mais la page a changé et ils ne sont plus là. En outre, le demandeur utilisait un système d'exploitation avec apt-getcomme gestionnaire de paquets, mais cette réponse utilise yum. Rien de mal à fournir des réponses qui couvrent des plates-formes supplémentaires, mais elles devraient être signalées comme telles; ce sera inutilement déroutant pour les noobs Unix autrement.
Mark Amery
5
Pour installer BLAS et LAPACK, vous devez exécuteryum install lapack-devel.x86_64 blas-devel.x86_64
Max L
331

Cela a fonctionné pour moi sur Ubuntu 14.04:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
pip install scipy
vk1011
la source
4
L'installation a été libblas-dev liblapack-devrésolue, blasmais j'ai error: library dfftpack has Fortran sources but no Fortran compiler founddonc eu besoin de tout cela pour pouvoir installer scipy. Je vous remercie.
naoko
6
Je viens de l'installer libblas-dev liblapack-dev gfortran, cela fonctionne pour moi sur Ubuntu14.04
Jin
libblas était la raison avec l'erreur - aucune ressource lapack / blas trouvée
Oleg Abrazhaev
1
Amen pour les réponses non acceptées qui fonctionnent mieux que les réponses acceptées.
Felipe
pour yum: yum install blas-devel lapack-devel atlas-devel gcc-gfortran
Alec McGail
76

vous avez besoin des packages de développement libblas et liblapack si vous utilisez Ubuntu.

aptitude install libblas-dev liblapack-dev
pip install scipy
Chris Montanaro
la source
13

Puisque les instructions précédentes pour l'installation avec yum sont brisées, voici les instructions mises à jour pour l'installation sur quelque chose comme fedora. J'ai testé ceci sur "Amazon Linux AMI 2016.03"

sudo yum install atlas-devel lapack-devel blas-devel libgfortran
pip install scipy
Greg
la source
6

Je travaillais sur un projet qui reposait sur numpy et scipy. Dans une installation propre de Fedora 23, en utilisant un environnement virtuel python pour Python 3.4 (a également fonctionné pour Python 2.7), et avec ce qui suit dans mon setup.py (dans la setup()méthode)

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

J'ai découvert que je devais exécuter ce qui suit pour me rendre pip install -e .au travail:

pip install --upgrade pip

et

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

Le redhat-rpm-configest à l'usage de Scipy redhat-hardened-cc1par opposition à la version régulièrecc1

Johann
la source
3

Sur Windows python 3.5 , j'ai réussi à installer scipyen n'utilisant conda pas pip :

conda install scipy
CONvid19
la source
2

De quel système d'exploitation s'agit-il? La réponse peut dépendre du système d'exploitation impliqué. Cependant, il semble que vous deviez trouver cette bibliothèque BLAS et l'installer. Il ne semble pas être dans PIP (vous devrez donc le faire à la main), mais si vous l'installez, cela devrait vous permettre de progresser dans l'installation de SciPy.

Shayne
la source
C'est ubuntu 11.10. J'ai essayé, c'est exactement mon problème. Qu'est-ce que la bibliothèque et comment l'obtenir?
eran
25
Sur Ubuntu, vous pouvez faire par exemple sudo apt-get install liblapack-dev libatlas-devplus peut-être aussi python-dev gfortransi vous les manquez.
pv.
2
Je n'ai pas fait ce post! Que diable?
Shayne
0

dans mon cas, la mise à niveau de pip a fait l'affaire. De plus, j'ai installé scipy avec le paramètre -U (mettez à niveau tous les packages vers la dernière version disponible)

chatte
la source