从 sklearn 导入时出错: 不能导入名称 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,cipy-0.12.0 b1 superpack,numpy-1.6.0 superpack,scikit-learn-0.11 我有一台 Windows 7机器

对于这个问题,我已经检查了几个答案,但是没有一个能够解决这个错误。

314105 次浏览

通常,当我遇到这类错误时,打开 __init__.py文件并四处查看会有所帮助。转到目录 C:\Python27\lib\site-packages\sklearn,并确保作为第一步,有一个称为 __check_build的子目录。在我的机器上(有一个工作的 sklearn 安装,Mac OSX,Python 2.7.3) ,我有 __init__.pysetup.py、它们相关的 .pyc文件和一个二进制 _check_build.so

在该目录中查找 __init__.py,下一步我要做的是转到 sklearn/__init__.py并注释掉 import 语句—— check _ build 只是检查编译是否正确,除了调用预编译的二进制文件,它似乎什么都不做。当然,这是由你自己承担风险的,(当然)也是一种解决办法。如果您的构建失败,您可能很快就会遇到其他更大的问题。

>>> 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!

在我安装了药剂之后就开始工作了。

安装 numpyscipysklearn后仍有错误

解决方案:

为 Python 设置系统 Path变量及 PYTHONPATH环境变量

系统变量: 将 C:\Python34添加到路径 用户变量: 添加 new: (name) PYTHONPATH(value) C:\Python34\Lib\site-packages;

我在 Windows 上也遇到过同样的问题。按照 这个答案的建议,通过从 http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy安装 Numpy + MKL 解决了这个问题(在 http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy中,建议在安装其他依赖于 Numpy + MKL 的软件包之前安装 Numpy + MKL)。

如果您使用 Anaconda 2.764位,请尝试

conda upgrade scikit-learn

然后重启巨蟒外壳,这对我很有用。

当我面对同样的问题并且解决了它的时候,进行了第二次编辑:

conda upgrade scikit-learn

对我也有用

其他的答案对我来说都不管用。经过一番修修补补后,我卸载了 sklearn:

pip uninstall sklearn

然后我从这里删除 sklearn 文件夹: (调整路径到您的系统和 Python 版本)

C:\Users\%USERNAME%\AppData\Roaming\Python\Python36\site-packages

并且从这个站点的车轮上安装了它: 链接

出现这个错误可能是因为版本与安装在其他地方的 sklearn 冲突。

在从 Python.org 安装了新的64位版本的 Python 3.4之后,我在导入 SKLEARN 时遇到了问题。

原来是 SCIPY 模块坏了,当我试图“导入 scypy”时,alos 失败了。

解决方案是卸载 scypy 并用 pipp3重新安装它:

C:\> pip uninstall scipy


[lots of reporting messages deleted]


Proceed (y/n)? y
Successfully uninstalled scipy-1.0.0


C:\Users\>pip3 install scipy


Collecting scipy
Downloading scipy-1.0.0-cp36-none-win_amd64.whl (30.8MB)
100% |████████████████████████████████| 30.8MB 33kB/s
Requirement already satisfied: numpy>=1.8.2 in c:\users\johnmccurdy\appdata\loca
l\programs\python\python36\lib\site-packages (from scipy)
Installing collected packages: scipy
Successfully installed scipy-1.0.0


C:\Users>python
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
>>>
>>> import sklearn
>>>

在窗口:

我试图从 shell 中删除 sklearn: pip 卸载 sklearn,然后重新安装它,但是不起作用。

解决办法:

1- open the cmd shell.
2- cd c:\pythonVERSION\scripts
3- pip uninstall sklearn
4- open in the explorer: C:\pythonVERSION\Lib\site-packages
5- look for the folders that contains sklearn and delete them ..
6- back to cmd: pip install sklearn

我对 Python 3.6.564位 Windows 10的解决方案:

  1. pip uninstall sklearn
  2. pip uninstall scikit-learn
  3. pip install sklearn

不需要重新启动命令行,但是如果需要,可以这样做。 我花了一天时间才修好这个漏洞,希望能有所帮助。

我也有同样的问题,重新安装水蟒帮我解决了这个问题

对我来说, 我通过从最新的 python 版本(3.7)安装 Anaconda 来升级现有的代码到新的设置 为了这个,

from sklearn import cross_validation,
from sklearn.grid_search import GridSearchCV

from sklearn.model_selection import GridSearchCV,cross_validate

不需要卸载然后重新安装 sklearn

试试这个:

from sklearn.model_selection import train_test_split