我为定制 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应该没问题。我试过了
-
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:$LD_LIBRARY_PATH
-
export BLAS=/opt/intel/mkl/lib/intel64
- 复制
[mkl]
部分中的内容并粘贴到文件~/.numpy-site.cfg
的[blas]
部分中
但这些都不起作用。那么出了什么问题呢?西比尊重~/.numpy-site.cfg
吗?谢谢。
你的库在..../intel64
的扩展名是什么?我遇到了类似的问题,因为.so.3.0
安装脚本的扩展找不到库。我的解决方案是创建符号链接:https://stackoverflow.com/a/23325759/1430829。也许这对你也有用?