ImportError: cannot import name 'joblib' from 'sklearn.externals' (D:\anaconda\envs\pytorch\lib\site-packages\sklearn\externals\__init__.py)
时间: 2023-08-16 20:09:28 浏览: 174
根据引用[1]和引用[3]的内容,你遇到的问题是在导入sklearn.externals中的joblib模块时出现了ImportError。这个错误可能是因为你使用的sklearn版本高于0.23,而在这个版本中,sklearn.externals已经被移除了。因此,无法从sklearn.externals中导入joblib模块。
解决这个问题的方法是更新你的代码,使用新的sklearn版本中的joblib模块。你可以尝试使用sklearn库中的joblib模块来替代sklearn.externals中的joblib模块。你可以按照以下步骤进行操作:
1. 首先,确保你的sklearn库的版本高于0.23。你可以使用以下命令来检查sklearn的版本:
```
import sklearn
print(sklearn.__version__)
```
2. 如果你的sklearn版本低于0.23,你可以尝试更新sklearn库到最新版本。你可以使用以下命令来更新sklearn库:
```
pip install -U scikit-learn
```
3. 如果你的sklearn版本已经是高于0.23的版本,那么你可以直接使用sklearn库中的joblib模块,而不需要再使用sklearn.externals中的joblib模块。你可以将你的代码中的导入语句修改为:
```
from sklearn import joblib
```
这样应该可以解决你遇到的ImportError问题。希望这个解决方案对你有帮助!
相关问题
ImportError: cannot import name 'joblib' from 'sklearn.externals' (D:\ANACONDA\lib\site-packages\sklearn\externals\__init__.py)
这个错误通常是因为sklearn版本不兼容导致的,新版的scikit-learn已经将joblib集成到了sklearn包中,不再需要从sklearn.externals中导入。您可以尝试更新scikit-learn到最新版本,并将代码中的`from sklearn.externals import joblib`改为`import joblib`。
from sklearn.externals import joblib ImportError: cannot import name 'joblib' from 'sklearn.externals' (/home/aaa/anaconda3/lib/python3.9/site-packages/sklearn/externals/__init__.py)
这个错误是因为在最新版本的 scikit-learn 中,`joblib` 被移动到了一个单独的包中,你需要安装 `joblib` 包才能使用它。你可以通过运行以下命令来安装它:
```
pip install joblib
```
如果你使用的是 scikit-learn 0.23 版本及以上的版本,可以直接使用以下代码来导入 `joblib`:
```
from sklearn import set_config
set_config(working_memory=True)
```
这将启用 scikit-learn 的内置缓存机制,以便更有效地使用内存。
阅读全文