解决问题 AttributeError: module ‘sklearn.metrics._dist_metrics‘ has no attribute ‘DistanceMetric32‘

最近用sklearn库时发现了问题,

from sklearn.neighbors import NearestNeighbors

时报错 AttributeError: module 'sklearn.metrics._dist_metrics' has no attribute 'DistanceMetric32'

根据 python - Importing SMOTE raise AttributeError: module 'sklearn.metrics._dist_metrics' has no attribute 'DistanceMetric32' - Stack Overflow

我更新了 scikit-learn 库和 imbalanced-learn 库,

pip install --upgrade scikit-learn
pip install --upgrade imbalanced-learn 

但问题没有解决。此时命令行输入

pip list

能够发现 scikit-learn 的版本是 1.2.2,imbalanced-learn 的版本是 0.10.1,看起来没有问题。不过我发现还有一个版本是 0.0.post1 的 sklearn。

 猜想可能是这个有问题,于是卸了。

pip uninstall sklearn

但问题还是没解决。

此时 stackoverflow 已经找不到其他方法了,抱着试一试的心态问chatgpt,它建议重装试试。

我没觉得这里会有问题,但是也没办法了试试吧。

pip uninstall scikit-learn

 之后把 1.2.2 的 scikit-learn 卸了,然后输入重新安装的命令

pip install scikit-learn

这时我发现还装着一个 1.1.3 的 scikit-learn!也就是说之前在环境里同时存在 1.2.2 和 1.1.3 的库,估计这就是问题所在了。把 1.1.3 的也卸了,然后把 1.2.2 重新装回来,问题得以解决。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值