ImportError in importing from sklearn: cannot import name check_build
尝试从sklearn导入时出现以下错误:
1 2 3 4 5 6 7 8 | >>> 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 superpack,numpy-1.6.0 superpack,scikit-learn-0.11
我有一台Windows 7机器
我已经检查了这个问题的几个答案,但没有一个能解决这个问题。
安装scipy之后为我工作。
1 2 3 4 5 6 7 8 9 10 11 | >>> 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!安装后你必须没有重新启动空闲!
安装
解:
为Python设置系统
系统变量:将
用户变量:添加新:(名称)
我的Python 3.6.5 64位Windows 10的解决方案:
无需重新启动命令行,但如果需要,可以执行此操作。
我花了一天时间修复这个bug。希望这有帮助。
通常当我遇到这些类型的错误时,打开
在该目录中的
这可能是因为您可能已经安装了scikit-learn和sklearn。运行以下命令
- 点击卸载scikit-learn
- pip uninstall sklearn
- pip install sklearn
这解决了我的问题。
从python.org安装新的64位版本的Python 3.4之后,我在导入SKLEARN时遇到了问题。
事实证明,这是SCIPY模块被破坏,当我试图"导入scipy"时alos失败了。
解决方法是卸载scipy并使用pip3重新安装它:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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 >>> |
我在Windows上遇到了同样的问题。通过从http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy安装Numpy + MKL来解决这个问题(建议在其他依赖它的软件包之前安装numpy + mkl),如本答案所示。
如果您使用Anaconda 2.7 64位,请尝试
1 | conda upgrade scikit-learn |
并重新启动python shell,这对我有用。
当我遇到同样的问题并解决它时,第二次编辑:
1 | conda upgrade scikit-learn |
也适合我
没有其他答案对我有用。经过一些修补后我卸载了sklearn:
1 | pip uninstall sklearn |
然后我从这里删除了sklearn文件夹:(调整你的系统和python版本的路径)
1 2 | C:\Users\%USERNAME%\AppData oaming\Python\Python36\site-packages |
并从这个站点的车轮安装它:链接
错误可能是因为与其他地方安装的sklearn版本冲突。
无需卸载&amp; 然后重新安装sklearn
试试这个:
1 | from sklearn.model_selection import train_test_split |
为了我,
我通过安装Anaconda从最新的python版本(3.7)将现有代码升级到新的设置
为了这,
1 2 | from sklearn import cross_validation, from sklearn.grid_search import GridSearchCV |
至
1 | from sklearn.model_selection import GridSearchCV,cross_validate |
我在Windows机器上遇到了同样的问题,并通过从http://www.lfd.uci.edu/~gohlke/pythonlibs/安装numpy + mkl软件包解决了这个问题。安装完成后,重新启动shell。
我在安装sklearn时遇到问题并尝试导入数据集
问题是cython兼容性。
在创建一个没有cython的新环境后,它就像一个魅力。
我有同样的问题重新安装anaconda解决了我的问题
确保您编码的文件未命名为"sklearn"。我犯了同样的错误,现在重命名文件后,它运行正常
在Windows中:
我试图从shell中删除sklearn:pip uninstall sklearn,然后重新安装它但不起作用..
解决方案:
1 2 3 4 5 6 | 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 |
最近我遇到了和你一样的错误。
1 2 3 4 5 6 7 8 | Traceback (most recent call last): entFile"/Users/honey/Documents/machine_learning/task1/sklearn.py", line 8, in <module>er code here from sklearn import feature_extraction File"/Users/honey/Documents/machine_learning/task1/sklearn.py", line 8, in <module> from sklearn import feature_extraction ImportError: cannot import name 'feature_extraction' [Finished in 0.8s with exit code 1] [cmd: ['python3', '-u', '/Users/honey/Documents/machine_learning/task1/sklearn.py']] |
然后我发现python被名称"sklearn.py"搞糊涂了,所以代码无法正确执行。我注意到你的路上还有sklearn
1 | C:\Python27\lib\site-packages\sklearn\__init__.py |
所以也许你可以试着避免在你的道路上"sklearn",以避免歧义。希望它可以提供帮助。
(对不起,或许我误解了这个问题,也许没有帮助。)