首页 文章

sklearn中的AttributeErrror

提问于
浏览 994
2

我刚用pip安装了sklearn . 当我尝试导入任何东西时,我得到一个AttributeError .

import sklearn # No error

from sklearn import svm # AttributeError

from sklearn import datasets # Same AttributeError

完整输出:Traceback(最近一次调用最后一次):test.py“,第1行,来自sklearn导入集群文件”AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ sklearn \ cluster__init __ . py “,第6行,来自.spectral import spectral_clustering,SpectralClustering文件”AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ sklearn \ cluster \ spectral.py“,第15行,来自..metrics .pairwise import pairwise_kernels文件“AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ sklearn \ metrics__init __ . py”,第7行,来自.ranking import auc文件“AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ sklearn \ metrics \ ranking.py“,第27行,来自scipy.stats导入rankdata文件”AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ scipy \ stats__init __ . py“,第345行,来自.stats import *文件”AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ scipy \ stats \ stats.py“,第171行,来自 . 导入分发文件“AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ scipy \ stats \ distributions.py“,第13行,来自 . import _continuous_distns文件“AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ scipy \ stats_continuous_distns.py”,第113行,在类norm_gen(rv_continuous)中:文件“AppData \ Local \ Programs \ Python \ Python37 -32 \ lib \ site-packages \ scipy \ stats_continuous_distns.py“,第175行,在norm_gen optimizer参数中被忽略 . \ n \ n”“”“文件”AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ scipy \ misc \ doccer.py“,第159行,_doc start_of_notes = cls_docstring.find(notes_header)AttributeError:'NoneType'对象没有属性'find'

# From doccer.py
def _doc(func):
    cls_docstring = getattr(cls, func.__name__).__doc__
    notes_header = '        Notes\n        -----\n'
    # XXX The following assumes that there is a Notes section.
    start_of_notes = cls_docstring.find(notes_header) # This is line 159
    end_of_notes = cls_docstring.find('        References\n')
    if end_of_notes == -1:
        end_of_notes = cls_docstring.find('        Examples\n')
        if end_of_notes == -1:
            end_of_notes = len(cls_docstring)
    func.__doc__ = (cls_docstring[:start_of_notes + len(notes_header)] +
                    notes +
                    cls_docstring[end_of_notes:])
    return func
return _doc

我正在使用Python 3.7.1

有谁知道如何解决这个问题?
我不确定要包含哪些更多信息,因此如果您需要更多信息,请告诉我这样做 .

EDIT1:
我尝试在我的电脑上做同样的事情,它工作得很好 . 使用我的笔记本电脑时只会出现此问题 .

2 回答

  • 0

    这似乎是一个破碎的安装问题 .

    请试试这些:

    打开终端(cmd)并在尝试导入sklearn之前尝试这些 .

    pip3 install -U scikit-learn
    

    还要确保你有numpy和scipy:

    pip3 install numpy 
    pip3 install scipy
    

    编辑1:

    试试这个:

    pip uninstall scikit-learn
    sudo pip install scikit-learn
    
  • 0

    我当前的用户在c-drive用户名中有一个空格 . 我尝试在没有那个空白的笔记本电脑上制作另一个用户,下载python 3.7.1和pip安装了scikit-learn,它运行得很好!

相关问题