简体   繁体   English

ModuleNotFoundError:没有名为“sklearn.utils._joblib”的模块

[英]ModuleNotFoundError: No module named 'sklearn.utils._joblib'

I'm using python 3.6 on on Anaconda Jupyter notebooks platform.我在 Anaconda Jupyter 笔记本平台上使用 python 3.6。 My pc uses win 8.1 as OS.我的电脑使用 win 8.1 作为操作系统。

I was trying to import PCA from sklearn using the following lines:我试图使用以下几行从 sklearn 导入 PCA:

import sklearn
from sklearn import decomposition 
from sklearn.decomposition import PCA 

the third line returns a Module error: ModuleNotFoundError: No module named 'sklearn.utils._joblib'第三行返回模块错误: ModuleNotFoundError: No module named 'sklearn.utils._joblib'

Strangely, I couldn't find any record on this error online!奇怪的是,我在网上找不到有关此错误的任何记录! I'd appreciate any help.我很感激任何帮助。 I copied the complete error message below:我复制了以下完整的错误消息:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-375-2e95ea83a366> in <module>()
      1 import sklearn
----> 2 from sklearn import decomposition
      3 from sklearn.decomposition import PCA
      4 # Make an instance of the Model
      5 pca = PCA(.95)

E:\Anaconda3\lib\site-packages\sklearn\decomposition\__init__.py in <module>()
      9 from .incremental_pca import IncrementalPCA
     10 from .kernel_pca import KernelPCA
---> 11 from .sparse_pca import SparsePCA, MiniBatchSparsePCA
     12 from .truncated_svd import TruncatedSVD
     13 from .fastica_ import FastICA, fastica

E:\Anaconda3\lib\site-packages\sklearn\decomposition\sparse_pca.py in <module>()
     11 from ..linear_model import ridge_regression
     12 from ..base import BaseEstimator, TransformerMixin
---> 13 from .dict_learning import dict_learning, dict_learning_online
     14 
     15 

E:\Anaconda3\lib\site-packages\sklearn\decomposition\dict_learning.py in <module>()
     15 
     16 from ..base import BaseEstimator, TransformerMixin
---> 17 from ..utils._joblib import Parallel, delayed, effective_n_jobs
     18 from ..externals.six.moves import zip
     19 from ..utils import (check_array, check_random_state, gen_even_slices,

ModuleNotFoundError: No module named 'sklearn.utils._joblib'

This comment on a PR in May 2019 mentions that they wanted to ditch it. 2019 年 5 月对 PR 的评论提到他们想放弃它。

As of June 2019, sklearn.utils._joblib is no longer a thing .截至 2019 年 6 月, sklearn.utils._joblib不再是一个东西

Analysis: you've got old versions in your environment.分析:您的环境中有旧版本。 Perhaps pip install -r requirements.txt got you, overriding the working version, or something else.也许pip install -r requirements.txt得到了你,覆盖了工作版本,或者其他东西。

Recommendation: make a new conda environment, reinstall sklearn and joblib (via conda install scikit-learn joblib ) in that environment and move forward.建议:创建一个新的conda环境,在该环境中重新安装 sklearn 和 joblib(通过 conda conda install scikit-learn joblib )并继续前进。

I have a similar problem but the description is 'No module named 'sklearn.externals.joblib.parallel'.我有一个类似的问题,但描述是“没有名为 sklearn.externals.joblib.parallel 的模块”。 I installed and uninstalled sklearn and joblib repeatedly and it didn't work.我反复安装和卸载sklearn和joblib,但没有用。 Finally I solved this problem by commenting it in the source package code.最后我通过在源包代码中注释解决了这个问题。

Install and import joblib directly:直接安装导入joblib:

!pip install joblib
import joblib

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM