尝试从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的解决方案:
-
pip uninstall sklearn
-
pip uninstall scikit-learn
-
pip install sklearn
不需要重新启动命令行,但您可以这样做,如果你想。我花了一天的时间来修复这个bug。
安装numpy
、scipy
、sklearn
后仍有错误
解决方案:
为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为我解决了这个问题