从sklearn中导入importterror:不能导入名称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:Python27libsite-packagessklearn__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:Python27libsite-packagessklearn__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!

Python 3.6.5 64位Windows 10的解决方案:

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

不需要重新启动命令行,但您可以这样做,如果你想。我花了一天的时间来修复这个bug。

安装numpyscipysklearn后仍有错误

解决方案:

为Python设置System Path变量&PYTHONPATH环境变量

System Variables: add C:Python34 into path用户变量:add new:(name) PYTHONPATH (value) C:Python34Libsite-packages;

通常当我得到这些类型的错误时,打开__init__.py文件并四处闲逛会有所帮助。转到目录C:Python27libsite-packagessklearn,确保有一个名为__check_build的子目录作为第一步。在我的机器上(有一个工作的sklearn安装,Mac OSX, Python 2.7.3),我有__init__.py, setup.py,它们相关的.pyc文件,和一个二进制_check_build.so

在该目录中探查__init__.py,我要采取的下一步是转到sklearn/__init__.py并注释掉import语句—check_build只是检查事情是否正确编译,它似乎不做任何事情,只是调用预编译的二进制文件。当然,这是您自己的风险,并且(可以肯定)是一种解决方法。如果构建失败,您可能很快就会遇到其他更大的问题。

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

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

原来是SCIPY模块坏了,当我试图"导入SCIPY"时也失败了。

解决方案是卸载scipy并使用pip3重新安装:

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:usersjohnmccurdyappdataloca
lprogramspythonpython36libsite-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
>>>

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

conda upgrade scikit-learn

并重新启动python shell,这对我来说很有效。

当我遇到同样的问题并解决它时的第二次编辑:

conda upgrade scikit-learn

其他答案都不适合我。在一些修补之后,我卸载了sklearn:

pip uninstall sklearn

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

C:Users%USERNAME%AppDataRoamingPythonPython36site-packages

并安装了车轮从这个网站:链接

出现错误可能是由于与安装在其他地方的sklearn版本冲突。

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

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

在windows中:

我试图从shell中删除sklearn: pip卸载sklearn,并重新安装它,但不工作。

解决方案:

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

我有同样的问题重新安装anaconda为我解决了这个问题

相关内容

  • 没有找到相关文章

最新更新