numpy.disutils.system_info.NotFoundError:找不到lapack / blas资源

时间:2015-11-13 02:17:58

标签: python ubuntu numpy lapack blas

问题:将numpy链接到正确的线性代数库。过程非常复杂,我可能会第六次寻找解决方案而且我不知道哪里出错了。我在Ubuntu 12.04.5上。 我重新安装了blas和lapack,然后使用pip重新安装了numpy。我在系统环境中做到了这一点,然后在virtualenv环境中尝试过。这些东西似乎都没有用。

这是我的numpy.__config__.show()

lapack_info:
  NOT AVAILABLE
lapack_opt_info:
  NOT AVAILABLE
openblas_lapack_info:
  NOT AVAILABLE
blas_info:
  NOT AVAILABLE
atlas_3_10_blas_threads_info:
  NOT AVAILABLE
atlas_threads_info:
  NOT AVAILABLE
blas_src_info:
  NOT AVAILABLE
atlas_3_10_threads_info:
  NOT AVAILABLE
atlas_blas_info:
  NOT AVAILABLE
atlas_3_10_blas_info:
  NOT AVAILABLE
lapack_src_info:
  NOT AVAILABLE
atlas_blas_threads_info:
  NOT AVAILABLE
openblas_info:
  NOT AVAILABLE
blas_mkl_info:
  NOT AVAILABLE
blas_opt_info:
  NOT AVAILABLE
atlas_info:
  NOT AVAILABLE
atlas_3_10_info:
  NOT AVAILABLE
lapack_mkl_info:
  NOT AVAILABLE
mkl_info:
  NOT AVAILABLE

这是一个非常常见的错误,并且根据用户的环境和历史记录提供了大量解决方案。我最近按照此处的说明完成了安装BLAS和LAPACK的整个过程:https://stackoverflow.com/a/9173550/3413239。 我能够成功安装两者。

但是,我最初有这些库:(ls /usr/lib | grep blas

libopenblas.so.0
openblas-base/
libblas.so.3gf
libblas.3

我应该如何将我的numpy链接到线性代数库。是否必须拥有所有的linaear代数库?即lapack,blas,atlas?

我假设一旦numpy被链接所有其他模块,如scipy和Orange将起作用。

4 个答案:

答案 0 :(得分:3)

您可能有未满足的依赖项。当我遇到这个错误时,我能够通过安装两个软件包来修复它:

sudo apt-get install libblas-dev  liblapack-dev

答案 1 :(得分:1)

如果有人在FreeBSD上安装Scipy有类似的问题-可以很简单地通过使用HKLM64命令在系统本身上安装必要的软件包来解决该问题:

pkg

答案 2 :(得分:1)

安装以下库(Ubuntu 20.04):

sudo apt-get install libatlas-base-dev libblas3 liblapack3 liblapack-dev libblas-dev gfortran

,然后使用pip安装python软件包。

答案 3 :(得分:0)

将现有Numpy链接到库:Link ATLAS/MKL to an installed Numpy

使用OpenBlas编译Numpy:Compiling numpy with OpenBLAS integration