我刚用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 回答
这似乎是一个破碎的安装问题 .
请试试这些:
打开终端(cmd)并在尝试导入sklearn之前尝试这些 .
还要确保你有numpy和scipy:
编辑1:
试试这个:
我当前的用户在c-drive用户名中有一个空格 . 我尝试在没有那个空白的笔记本电脑上制作另一个用户,下载python 3.7.1和pip安装了scikit-learn,它运行得很好!