导入时,sklearn的“预处理器”子模块不可用

时间:2019-04-13 23:52:10

标签: python python-3.x scikit-learn pip sklearn-pandas

我发现了其他一些帖子,例如this one抱怨无法导入有关sklearn的一些信息,但是我尝试了所有建议的解决方案(归结为:pip3 install -Uapt install在每种情况下,甚至在帖子中询问preprocessor以外的其他内容),但这仍然无济于事。

我遇到的问题是:

>>> import sklearn
>>> sklearn.__version__
'0.20.3'
>>> sklearn.preprocessor
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'sklearn' has no attribute 'preprocessor'
>>> from sklearn import preprocessor
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'preprocessor'

安装假定正确的软件包时的输出如下:

$ pip3 install -U scikit-learn
Collecting scikit-learn
  Using cached https://files.pythonhosted.org/packages/5e/82/c0de5839d613b82bddd088599ac0bbfbbbcbd8ca470680658352d2c435bd/scikit_learn-0.20.3-cp36-cp36m-manylinux1_x86_64.whl
Collecting numpy>=1.8.2 (from scikit-learn)
  Using cached https://files.pythonhosted.org/packages/35/d5/4f8410ac303e690144f0a0603c4b8fd3b986feb2749c435f7cdbb288f17e/numpy-1.16.2-cp36-cp36m-manylinux1_x86_64.whl
Collecting scipy>=0.13.3 (from scikit-learn)
  Using cached https://files.pythonhosted.org/packages/7f/5f/c48860704092933bf1c4c1574a8de1ffd16bf4fde8bab190d747598844b2/scipy-1.2.1-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: numpy, scipy, scikit-learn
Successfully installed numpy-1.16.2 scikit-learn-0.20.3 scipy-1.2.1

或:

$ sudo apt autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 49 not upgraded.

如您所见,该软件包应该以两种不同的方式正确安装,但是仍然无法正常工作。我还尝试卸载其中一个(以防它们相互干扰),但这也不能解决任何问题。

有人知道为什么这对我不起作用吗?如果我需要提供有关安装的任何其他信息,我很乐意提供。

1 个答案:

答案 0 :(得分:1)

这在我之前也发生过,这是解决方法

import sklearn.preprocessing # or from sklearn import preprocessing