微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编译 python 3.8.7, numpy 1.19 和 scipy WITHOUT lapack, blas from source

如何解决编译 python 3.8.7, numpy 1.19 和 scipy WITHOUT lapack, blas from source

我喜欢从头开始编译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}

解决方法

documentation 说:

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

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

,

谢谢!

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 等的情况下工作,被 LAPACK,BLAS,ATLAS=None 开关禁用。所以这个 SciPy 的 Lapack 依赖的硬性要求是后来引入的...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。