pickle.load报错 ModuleNotFoundError: No module named ‘sklearn.svm.classes‘

项目场景:

在一个OpenCV项目中加载p文件时出问题


问题描述

PyCharm中运行项目写了如下代码,执行时这一行报错 ModuleNotFoundError: No module named 'sklearn.svm.classes'

dist_pickle = pickle.load(open("train_dist.p", "rb"))

原因分析:

从网上找到大概率因为sklearn版本过新的问题(>=0.24),0.23.2版的,导入这个的时候已经警告该模块(sklearn.svm.classes)会在0.24版本移除了


解决方案:

安装旧的版本scikit-learn 小于0.24版本。如果Python版本过新,安装旧版本时会失败,我就这个安装失败搞了好久,0.23.2只能用在python 3.6版本上。所以我又重新在下载了3.6版本的。

最后找了很久终于是解决了

你可能感兴趣的:(Python,python,opencv,机器学习)