从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! 安装完毕后,您一定还没有重新启动闲置!
安装numpy
, scipy
, sklearn
仍然有错误
解:
为Python和PYTHONPATH
环境variables设置系统Path
variables
系统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.so
, setup.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。