从sklearn导入ImportError:无法导入名称check_build

我尝试从sklearn导入时出现以下错误:

>>> from sklearn import svm Traceback (most recent call last): File "<pyshell#17>", line 1, in <module> from sklearn import svm File "C:\Python27\lib\site-packages\sklearn\__init__.py", line 16, in <module> from . import check_build ImportError: cannot import name check_build 

我使用Python 2.7,scipy-0.12.0b1超级包,numpy-1.6.0超级包,scikit-learn-0.11我有一个Windows 7机器

我已经检查了这个问题的几个答案,但没有一个解决了这个错误。

安装scipy后为我工作。

 >>> from sklearn import preprocessing, metrics, cross_validation Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> from sklearn import preprocessing, metrics, cross_validation File "D:\Python27\lib\site-packages\sklearn\__init__.py", line 31, in <module> from . import __check_build ImportError: cannot import name __check_build >>> ================================ RESTART ================================ >>> from sklearn import preprocessing, metrics, cross_validation >>> 

所以,只需尝试重新启动shell!

安装scipy之后重新启动python shell! 安装完毕后,您一定还没有重新启动闲置!

安装numpyscipysklearn仍然有错误

解:

为Python和PYTHONPATH环境variables设置系统Pathvariables

系统variables:将C:\Python34添加到path中用户variables:添加新:(名称) PYTHONPATH (值) C:\Python34\Lib\site-packages;

通常,当我得到这些types的错误,打开__init__.py文件和周围的帮助。 转到目录C:\Python27\lib\site-packages\sklearn并确保有一个名为__check_build作为第一步。 在我的机器上(使用sklearn安装,Mac OSX,Python 2.7.3),我有__init__.py . _check_build.sosetup.py ,它们相关的.pyc文件和一个二进制_check_build.so

在这个目录下的__init__.py中,下一步我要去sklearn/__init__.py并注释掉import语句— check_build只检查是否编译正确,没有似乎只是调用一个预编译的二进制文件。 当然,这是你自己承担的风险,并且(当然)是一种解决方法。 如果你的构build失败了,你很可能很快会遇到其他更大的问题。

我在Windows上遇到了同样的问题。 通过从http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy安装Numpy + MKL解决这个问题(build议在其他依赖它的包之前安装numpy + mkl)。

如果您使用Anaconda 2.7 64位,请尝试

 conda upgrade scikit-learn 

并重新启动python shell,这对我很有用。

我在Windows机器上面临同样的问题,并通过从http://www.lfd.uci.edu/~gohlke/pythonlibs/安装numpy + mkl包来解决这个问题。 安装后,重新启动shell。