Python 从sklearn导入时导入错误:无法导入名称检查\u生成
尝试从sklearn导入时出现以下错误:Python 从sklearn导入时导入错误:无法导入名称检查\u生成,python,numpy,scipy,scikit-learn,Python,Numpy,Scipy,Scikit Learn,尝试从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 &l
>>> 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
来自sklearn导入svm的>>
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
从sk学习输入svm
文件“C:\Python27\lib\site packages\sklearn\\uuuu init\uuuuu.py”,第16行,在
从…起导入检查生成
ImportError:无法导入名称检查\u生成
我使用的是python 2.7、scipy-0.12.0b1超级包、numpy-1.6.0超级包、scikit-learn-0.11
我有一台Windows7电脑
我已经检查了关于这个问题的几个答案,但是没有一个能解决这个错误。通常当我遇到这种错误时,打开
\uuuu init\uuuuuuuuuupy
文件并四处查看会有帮助。转到目录C:\Python27\lib\site packages\sklearn
,并确保第一步中有一个名为\uu check\u build
的子目录。在我的机器上(有一个工作的sklearn安装,Mac OSX,Python2.7.3),我有\uuu init\uuuuuuuuupy
,setup.py
,它们相关的.pyc
文件和一个二进制\u check\u build.so
翻开该目录中的\uuuu init\uuuuuuuuuuuupy
,我要采取的下一步是转到sklearn/\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuy.py
并注释掉import语句——check\u build东西只是检查编译是否正确,除了调用预编译的二进制文件外,似乎什么都不做。当然,这是由你自己承担风险的,而且(可以肯定)是一个解决办法。如果构建失败,您可能很快就会遇到其他更大的问题。>>来自sklearn的导入预处理、度量、交叉验证
>>> 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
>>>
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
从sklearn导入预处理、度量、交叉验证
文件“D:\Python27\lib\site packages\sklearn\\uuuu init\uuuuu.py”,第31行,在
从…起导入检查生成
导入错误:无法导入名称\u检查\u生成
>>>=================================================重新启动================================
>>>从sklearn导入预处理、度量、交叉验证
>>>
因此,只需尝试重新启动shell 在安装scipy后为我工作。在安装
numpy
后,scipy
,sklearn
仍有错误
解决方案:
为Python设置系统Path
变量和PYTHONPATH
环境变量
系统变量:将C:\Python34
添加到路径中
用户变量:添加新的:(名称)
PYTHONPATH
(值)C:\Python34\Lib\site包代码>我在Windows上也遇到了同样的问题。通过按照建议从安装Numpy+MKL(建议在其他依赖Numpy+MKL的软件包之前安装Numpy+MKL)解决了此问题。如果使用Anaconda 2.7 64位,请尝试
conda upgrade scikit-learn
重新启动pythonshell,这对我很有用
当我面对同样的问题并解决它时,第二次编辑:
conda upgrade scikit-learn
也对我有效其他答案都对我无效。经过一些修补,我了解到:
pip uninstall sklearn
然后我从这里删除了sklearn文件夹:(调整系统和python版本的路径)
以及从该站点的wheel安装的:
出现此错误可能是因为与其他地方安装的sklearn版本冲突。在从Python.org安装新的64位版本的Python 3.4后,我在导入sklearn时遇到问题
原来是SCIPY模块坏了,当我尝试“导入SCIPY”时,alos失败了
解决方案是卸载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:\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中:
我试图从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.5 64位Windows 10解决方案:
pip卸载sklearn
pip卸载scikit学习
pip安装sklearn
无需重新启动命令行,但如果需要,可以这样做。
我花了一天的时间来修复这个错误。希望能有所帮助。我也遇到了同样的问题,重新安装anaconda为我解决了这个问题,
我通过安装Anaconda from fresh和最新的python版本(3.7)将现有代码升级到新的设置中
为此,
from sklearn import cross_validation,
from sklearn.grid_search import GridSearchCV
到
无需卸载并重新安装sklearn
试试这个:
from sklearn.model_selection import train_test_split
尝试将scikit learn更新到当前版本(0.13)。现在我收到以下错误ImportError:无法导入名称\uuu check\u build而不是check\u build我已更新到scikit 0.13是否有人能解决我的问题?我没有\uCheck\u build。因此,在文件夹中,对于python 2.7,我该怎么做才能得到这个结果?您是否尝试在sklearn/\uuuu init\uuuuuuuuy.py
中注释掉尝试导入它的行?目前,您可以注释掉执行导入的行,这应该会让您运行。然后,您可以在问题跟踪器中打开一个问题吗?问题跟踪器看起来像一个bug。FWIW在\uuuu init\uuuuuupy中注释了导入
。py
没有解决问题,但暴露了另一个错误-我的scipy安装没有成功。问题中的错误是掩盖了真正的问题。像这样的逻辑答案并没有真正的帮助,因为它们不能解决问题。如果重新启动不能解决问题怎么办?只是提到,在针对numpy 1.9和python 2.7编译的scikit learn 0.15.2中发生了这种情况。如果您不想重新启动,del sys.modules['sklearn.\uu check\u build'];import sklearn
还将转到C:\Python34\Lib\site packages\sklearn双击init.py和setup.py,然后重新启动python shell。:)检查同一文件夹中是否有名为“sklearn”的文件。尝试从其他文件夹运行。帮我解决了(我的错)。查找带有@Mannu Yes的文件;同样对我来说,在jupyter笔记本上,只需重新启动(关闭并再次单击打开)ipynb py内核即可工作,而不必重新启动所有jupyter笔记本。scipy.stats
也无法工作,这也引发了一个错误。就我而言,
from sklearn.model_selection import GridSearchCV,cross_validate
from sklearn.model_selection import train_test_split