您现在的位置是:首页 >其他 >使用sklearn,报错Library not loaded: @rpath/libgfortran.3.dylib网站首页其他

使用sklearn,报错Library not loaded: @rpath/libgfortran.3.dylib

云从天上来 2024-06-17 10:14:12
简介使用sklearn,报错Library not loaded: @rpath/libgfortran.3.dylib

        因为需要使用sklearn,去做一些数据分析,所以使用conda命令进行安装

conda install scikit-learn

        在安装完成之后,导入,并使用拟合优度R2函数评估,发生如下报错;

import sklearn as sk
r2 = sk.metrics.r2_score(y_list, result)

报错:

ImportError: dlopen(/XXXXX用户路径XXXXX/lib/python3.6/sitepackages/scipy/special/

_ufuncs.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libgfortran.3.dylib

Library not loaded: @rpath/_ufuncs.cpython-36m-darwin.so

Reason: image not found

        根据翻译,直观来说就是这个 _ufuncs.cpython-36m-darwin.so 库加载失败。

        分析1:在提示的XXXXX用户路径XXXXX(每个人安装的路径不一致)的情况下,在对应路径下是能够找到这个库包的,说明并不是库不存在导致的。

        分析2:查阅资料后,怀疑是sklearn、numpy、scipy这三个库的版本不一致导致,在多次卸载重装后排出了这个问题(!但是,的确有因为这个原因导致报错的,所以可以尝试一下

        分析3:在重装过程中,发现如下问题!

提示:Path not writable or missing,这是conda的环境文件,是否可写和安装conda时候的用户权限有关,我这边使用的brew,可能在安装时默认的root用户,所以只可以读,不可以写。

sudo chmod 775 /你的路径/.conda/environments.txt

使用该命令,赋予文件写的权限!并重装分析2中的三个库。

        至此,问题解决。 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。