前言
根据我之前的文章介绍,龙芯loongarch64服务器中的很多python依赖包安装有问题,发现其中安装的"scikit-learn"就无法正常使用,所有这里在
pip3 install scikit-learn -U -i https://pypi.tuna.tsinghua.edu.cn/simple
的时候发现"scipy"就无法正常安装,会报如下错误:
这里将详细解释下如何解决这个问题,以及为什么会出现这个报错。
1、openblas
openblas是一个开源的矩阵计算库,包含了诸多的精度和形式的矩阵计算算法。Linux系统基本都会自带这个包,需要自行去安装。
yum install python3-pkgconfig
yum install openblas*
这里记录下openblas的版本,后面有用。
关键的来了,但是
RHEL openblas 软件包不附带 openblas.pc 文件
导致安装scipy的时候会报上面的错误,所以需要自建openblas.pc文件
2、自建openblas.pc文件
先使用
find /|grep openblas
找到so文件和头文件在哪个目录下,即"/usr/lib64/"和"/usr/include"
再使用
find /|grep pkgconfig
命令找到各个.pc文件存放位置,即"/usr/lib64/pkgconfig"
开始新建:
vim /usr/lib64/pkgconfig/openblas.pc
libdir=/usr/lib64
includedir=/usr/include
version=0.3.10
extralib=-lm -lpthread -lgfortran
Name: openblas
Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version
Version: ${version}
URL: https://github.com/xianyi/OpenBLAS
Libs: -L${libdir} -lopenblas
Libs.private: ${extralib}
Cflags: -I${includedir}
保存后,就可以正常安装scipy。
3、安装scipy
pip3 install scipy -U -i https://pypi.tuna.tsinghua.edu.cn/simple
注意:一定要加上“-i https://pypi.tuna.tsinghua.edu.cn/simple”