我正在尝试使用 BLAS 的 MKL 实现安装 scipy 1.9.1,使用 pip 作为我的包管理器。对于 numpy,我可以用:
pip install numpy --no-binary numpy
来做到这一点。使用 Scipy (pip install scipy--no-binary scipy
) 执行此操作失败并出现错误:
发现运行时依赖 openblas:否(尝试过 pkgconfig 和 cmake)
../../scipy/meson.build:130:0:错误:找不到依赖项“OpenBLAS”,尝试了 pkgconfig 和 cmake
我不知道如何配置 scipy/meson 以使用特定版本的 BLAS,它总是寻找 OpenBLAS。旧版本的 scipy 可以使用环境变量或 site.cfg 设置以多种方式完成此操作,但新的介子构建系统特别不再支持此。
有什么建议我可以使用特定的 BLAS 库(最好使用 pip)从源代码构建 scipy 吗?
从提供的部分错误来看,似乎缺少 libopenblas 开发包或 pkg-config 命令。以下是安装它们的命令(适用于基于 ubuntu 或 debian 的系统)
apt install libopenblas-dev pkg-config libopenblas64-dev
根据系统上安装的其他软件包,您可能需要安装以下软件包。
apt install patchelf python3-pythran cython3 gfortran
对于那些通过搜索引擎到达这里的人:如果您的错误如下所示:
ERROR: Dependency lookup for OpenBLAS with method 'pkgconfig' failed: Pkg-config binary for machine 1 not found. Giving up
您可以使用以下命令手动安装 pkgconfig 来修复此问题:
sudo apt-get install pkg-config
完成此操作后,scipy==1.10.0 编译得像一个魅力:) [[创建额外的交换文件后,我就耗尽了 RAM]]
附加信息:
希望这会有所帮助:)
电脑
我是如何发现的: