无法使用Meson通过MKL安装Scipy

问题描述 投票:0回答:2

我正在尝试使用 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 吗?

pip scipy blas intel-mkl meson-build
2个回答
3
投票

从提供的部分错误来看,似乎缺少 libopenblas 开发包或 pkg-config 命令。以下是安装它们的命令(适用于基于 ubuntu 或 debian 的系统)

apt install libopenblas-dev  pkg-config libopenblas64-dev

根据系统上安装的其他软件包,您可能需要安装以下软件包。

apt install patchelf python3-pythran cython3 gfortran


0
投票

对于那些通过搜索引擎到达这里的人:如果您的错误如下所示:

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]]

附加信息:

  • 系统配置:Ubuntu 22.04 上的 Odroid HC1(32 位 ARMv7)
  • 按照 taiga 项目管理软件手动安装指南出现问题(https://docs.taiga.io/setup-production.html#setup-prod-from-source-code
  • 步骤:pip install -rrequirements.txt
  • 如果需要更长的时间,请不要介意:低功耗架构的编译速度并不快
  • 相同的架构是您需要编译通过 pip 传入的每个包的问题,因此需要由 pkg-config 下载的编译工具

希望这会有所帮助:)

电脑

我是如何发现的:

© www.soinside.com 2019 - 2024. All rights reserved.