【问题标题】:compile python 3.8.7, numpy 1.19 and scipy WITHOUT lapack, blas from source从源代码编译 python 3.8.7、numpy 1.19 和 scipy 而不使用 lapack、blas
【发布时间】:2021-04-24 23:20:14
【问题描述】:

我喜欢从头开始编译 python 3.8.7 并添加 numpy、scipy。 Python 编译得很好,numpy 也很好(禁用 LAPACK=None,BLAS=None,ATLAS=None)。 如果我编译 scipy,我会遇到以下错误:

File "scipy/linalg/setup.py", line 20, in configuration
raise NotFoundError('no lapack/blas resources found')
numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

我故意不想要 LAPACK、BLAS、ATLAS 依赖项!

有没有办法禁用这些库?

setenv PYHOME  "/path/to/my/python"
FFI_VERSION        "3.3"
PYTHON_VERSION     "3.8.7"
CYTHON_VERSION     "0.29.21"
NUMPY_VERSION      "1.19.5"
PYBIND11_VERSION   "2.6.1"
SCIPY_VERSION      "1.5.4"

setenv BLAS             "None"
setenv ATLAS            "None"
setenv LAPACK           "None"
setenv NPY_BLAS_ORDER   ""
setenv NPY_LAPACK_ORDER ""

${PYHOME}/bin/python3 setup.py build
${PYHOME}/bin/python3 setup.py install --prefix=${PYHOME}

【问题讨论】:

  • 通过例如安装yum install lapack 等不是一个选项,

标签: python scipy lapack


【解决方案1】:

谢谢!

setenv PYTHON_VERSION     "3.6.4"
setenv CYTHON_VERSION     "0.24.1"
setenv NUMPY_VERSION      "1.11.1"
setenv SCIPY_VERSION      "0.18.1"

此版本/设置在 LAPACK、BLAS、ATLAS=None 开关禁用的情况下无需 LAPACK 等。所以这个对 SciPy 的 Lapack 依赖的硬性要求是后面介绍的……

【讨论】:

    【解决方案2】:

    documentation 说:

    在构建之前,您还需要安装 NumPy 和 SciPy 所依赖的包

    BLAS 和 LAPACK 库(可选,但强烈推荐用于 NumPy,SciPy 需要):通常是 ATLAS + OpenBLAS 或 MKL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-18
      • 2020-05-15
      • 1970-01-01
      • 2015-03-27
      • 2017-11-26
      • 2023-03-27
      • 2016-02-14
      相关资源
      最近更新 更多