最近用sklearn库时发现了问题,
from sklearn.neighbors import NearestNeighbors
时报错 AttributeError: module 'sklearn.metrics._dist_metrics' has no attribute 'DistanceMetric32'
我更新了 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 重新装回来,问题得以解决。