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.
Quel tar dois-je télécharger sur ce site?
J'ai essayé les fortrans, mais j'obtiens toujours cette erreur (après avoir défini la variable d'environnement évidemment).
Réponses:
La page Web SciPy fournissait auparavant des instructions de construction et d'installation, mais les instructions qui s'y trouvent reposent désormais sur des distributions binaires du système d'exploitation. Pour construire SciPy (et NumPy) sur des systèmes d'exploitation sans packages précompilés des bibliothèques requises, vous devez construire puis créer un lien statique vers les bibliothèques Fortran BLAS et LAPACK :
Exécutez une seule des cinq commandes g77 / gfortran / ifort. J'ai tout commenté, sauf le gfortran que j'utilise. L'installation suivante de LAPACK nécessite un compilateur Fortran 90 , et comme les deux installations doivent utiliser le même compilateur Fortran, g77 ne doit pas être utilisé pour BLAS.
Ensuite, vous devrez installer les éléments LAPACK. Les instructions de la page Web SciPy m'ont également aidé ici, mais j'ai dû les modifier en fonction de mon environnement:
Mise à jour le 3-sept.-2015: Vérifié quelques commentaires aujourd'hui (merci à tous): Avant d'exécuter,
make lapacklib
éditez lemake.inc
fichier et ajoutez des-fPIC
optionsOPTS
et desNOOPT
paramètres. Si vous êtes sur une architecture 64 bits ou souhaitez compiler pour une, ajoutez également-m64
. Il est important que BLAS et LAPACK soient compilés avec ces options définies sur les mêmes valeurs. Si vous oubliez, le-fPIC
SciPy vous donnera en fait une erreur sur les symboles manquants et vous recommandera ce commutateur. La section spécifique demake.inc
ressemble à ceci dans ma configuration:Sur les anciennes machines (par exemple RedHat 5), gfortran peut être installé dans une version plus ancienne (par exemple 4.1.2) et ne comprend pas l'option
-frecursive
. Supprimez-le simplement dumake.inc
fichier dans de tels cas.La cible de test lapack du Makefile échoue dans ma configuration car elle ne trouve pas les bibliothèques blas. Si vous êtes minutieux, vous pouvez déplacer temporairement la bibliothèque blas vers l'emplacement spécifié pour tester le lapack. Je suis une personne paresseuse, donc je fais confiance aux développeurs pour que cela fonctionne et ne vérifie que dans SciPy.
la source
make.inc
fichier en définissantOPTS = -O2 -fPIC
etNOOPT = -O0 -fPIC
.export LAPACK=~/src/lapack-3.5.0/
au lieu d'ajouter lelibflapack.a
à la fin.Si vous devez utiliser les dernières versions de SciPy plutôt que la version packagée, sans avoir à vous soucier de la construction de BLAS et LAPACK, vous pouvez suivre la procédure ci-dessous.
Installer des bibliothèques d'algèbre linéaire à partir du référentiel (pour Ubuntu),
Ensuite, installez SciPy, (après avoir téléchargé la source SciPy):
python setup.py install
ouSelon le cas.
la source
libopenblas-dev
pourlibblas-dev
(Ubuntu 10.04).sudo apt-get install python-dev
réparé. stackoverflow.com/a/21530768/125507sudo yum install blas-devel lapack-devel
travaillé pour moiSur Fedora, cela fonctionne:
N'oubliez pas d'installer ' lapack-devel ' et ' blas-devel ' en plus de 'blas' et 'lapack' sinon vous obtiendrez l'erreur que vous avez mentionnée ou l'erreur "numpy.distutils.system_info. LapackNotFoundError ".
la source
blas-static
&lapack-static
étaient requis pour moi sur fedora 20.Je suppose que vous parlez d'installation dans Ubuntu. Utilisez simplement:
Cela devrait également prendre en charge la compilation des bibliothèques BLAS. Sinon, la compilation des bibliothèques BLAS est très difficile.
la source
pip install scipy
ou le construire à partir des sources dans un environnement virtuel.Pour les utilisateurs de Windows, il existe un joli paquet binaire de Chris (avertissement: c'est un téléchargement assez volumineux, 191 Mo):
la source
Suivre les instructions données par 'cfi' fonctionne pour moi, bien qu'il y ait quelques pièces dont vous pourriez avoir besoin:
1) Votre répertoire lapack, après décompression, peut s'appeler lapack-XY (un certain numéro de version), vous pouvez donc simplement le renommer en LAPACK.
2) Dans ce répertoire, vous devrez peut-être faire:
la source
Essayez d'utiliser
la source