安装scipy时在MKL机器上找不到BLAS

时间:2014-02-27 11:54:40

标签: scipy pip blas intel-mkl

我为自定义numpy安装了英特尔MKL和其他库。这是我的~/.numpy-site.cfg

[DEFAULT]
library_dirs = /usr/lib:/usr/local/lib
include_dirs = /usr/include:/usr/local/include

[mkl]
library_dirs = /opt/intel/mkl/lib/intel64/
include_dirs = /opt/intel/mkl/include/
mkl_libs = mkl_rt
lapack_libs =

[amd]
amd_libs = amd

[umfpack]
umfpack_libs = umfpack

[djbfft]
include_dirs = /usr/local/djbfft/include
library_dirs = /usr/local/djbfft/lib

在安装numpy期间,此配置文件似乎正常。但当我通过pip3 install scipy安装scipy时,它报告了

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.

在我看来,MKL是Blas的一个实现,所以只提一下MKL应该没问题。我试过了

  1. export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:$LD_LIBRARY_PATH‌​
  2. export BLAS=/opt/intel/mkl/lib/intel64
  3. 复制[mkl]部分中的内容并粘贴到文件[blas]
  4. 中的~/.numpy-site.cfg部分

    但这些都不起作用。出了什么问题? scipy尊重~/.numpy-site.cfg?谢谢。

1 个答案:

答案 0 :(得分:0)

..../intel64中您的图书馆的扩展名是什么?我遇到了类似的问题,因为安装脚本.so.3.0的扩展名没有找到库。我的解决方案是创建符号链接:https://stackoverflow.com/a/23325759/1430829。也许这对你也有用吗?