但是报错cannot import name 'joblib' from 'sklearn.externals
时间: 2023-09-12 19:05:40 浏览: 446
### 回答1:
这个错误的意思是你在尝试从sklearn.externals中导入joblib,但是却找不到这个名字。
这可能是因为你使用的sklearn版本过旧,joblib在更新的版本中已经不再是sklearn.externals的一部分了。建议你升级sklearn版本,或者直接在代码中导入joblib,不再从sklearn.externals中导入。
### 回答2:
该报错信息意味着在sklearn.externals模块中无法导入名为'joblib'的内容。在最新的scikit-learn版本中,将一些旧版本的模块从sklearn.externals模块移动到了新的位置。而'joblib'模块已经从sklearn.externals模块移动到了sklearn模块下。因此,如果你使用的是新版本的scikit-learn库,你需要使用以下方式导入'joblib'模块:
```python
from sklearn import joblib
```
这样可以确保你能正确地导入'joblib'模块,并使用其中的函数和类。如果你仍然遇到报错问题,可能是由于你使用的是较旧版本的scikit-learn库。在这种情况下,你可以尝试升级scikit-learn库到最新版本,或者通过安装joblib库来解决该问题。你可以使用以下命令来安装joblib库:
```
pip install joblib
```
安装完成后,你应该能够顺利地导入并使用'joblib'模块。希望以上回答能够帮助你解决问题。
### 回答3:
在Scikit-learn版本0.23及之后的版本中,从sklearn.externals包中无法导入'joblib'。此报错是由于Sklearn对sklearn.externals进行了重构,将一些函数和类移动到了不同的位置。joblib现在已经转移到了sklearn包下的external子包中,因此我们应该使用sklearn.external.joblib来导入joblib。
正确的导入方式为:
from sklearn.externals import joblib
如果你在使用较新版本的Scikit-learn(0.23及之后),不能使用上述方法导入joblib,可以尝试更新你的Scikit-learn安装版本,或者使用以下新的导入方式:
from sklearn import external
external.joblib
通过以上方法,你应该能够成功导入joblib,并继续使用它进行模型的保存和加载等操作。
阅读全文