尝试从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,scipy-0.12.0b1 superpack,numpy-1.6.0 superpack,scikit-learn-0.11 我有一台Windows 7机器
我已经检查过这个问题的几个答案,但没有一个能解决这个错误。
答案 0 :(得分:138)
安装scipy之后为我工作。
答案 1 :(得分:46)
>>> 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!
答案 2 :(得分:25)
安装scipy后重启python shell!安装完毕后你必须重新启动空闲!
答案 3 :(得分:8)
安装numpy
后,scipy
,sklearn
仍有错误
解决方案:
为Python设置系统Path
变量&amp; PYTHONPATH
环境变量
系统变量:将C:\Python34
添加到路径中
用户变量:添加新:(名称)PYTHONPATH
(值)C:\Python34\Lib\site-packages;
答案 4 :(得分:6)
我的Python 3.6.5 64位Windows 10解决方案:
pip uninstall sklearn
pip uninstall scikit-learn
pip install sklearn
无需重启命令行,但如果需要,可以执行此操作。 我花了一天时间修复这个bug。希望这有帮助。
答案 5 :(得分:5)
通常当我遇到这些类型的错误时,打开__init__.py
文件并四处寻找帮助。转到目录C:\Python27\lib\site-packages\sklearn
并确保第一步有一个名为__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只是检查事情是否已正确编译,除了调用预编译的二进制文件之外,它似乎没有做任何事情。当然,这需要您自担风险,并且(确定)可以解决这个问题。如果您的构建失败,您可能很快就会遇到其他更大的问题。
答案 6 :(得分:3)
我在Windows上遇到了同样的问题。通过安装http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy中的Numpy + MKL解决了这个问题(根据this answer的建议,建议在其他依赖它的软件包之前安装numpy + mkl。
答案 7 :(得分:3)
这可能是因为您可能同时安装了scikit-learn和sklearn。运行以下命令
这为我解决了这个问题。
答案 8 :(得分:2)
从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
>>>
答案 9 :(得分:1)
其他答案都不适合我。经过一些修修补补后,我卸载了sklearn:
pip uninstall sklearn
然后我从这里删除了sklearn文件夹:(调整系统和python版本的路径)
C:\Users\%USERNAME%\AppData\Roaming\Python\Python36\site-packages
从本网站的车轮上安装它:link
错误可能是因为与其他地方安装的sklearn存在版本冲突。
答案 10 :(得分:1)
如果您使用Anaconda 2.7 64位,请尝试
conda upgrade scikit-learn
并重新启动python shell,这对我有用。
当我遇到同样的问题并解决它时,第二次编辑:
conda upgrade scikit-learn
也适合我
答案 11 :(得分:1)
对我来说, 我通过使用最新python版本从新安装Anaconda来将现有代码升级为新设置(3.7) 为此,
from sklearn import cross_validation,
from sklearn.grid_search import GridSearchCV
到
from sklearn.model_selection import GridSearchCV,cross_validate
答案 12 :(得分:0)
在Windows中:
我尝试从shell中删除sklearn:pip uninstall sklearn,然后重新安装但不起作用..
解决方案:
list = ['BHX', 'AR', 'DEFab', 'ABR', 'DEFyr', 'HYt', 'wqw', 'DEF-a']
merged_list = []
current = ''
for s in list:
if s.startswith('DEF'):
merged_list.append(current + ' ' + s)
current = ''
else:
current += s
答案 13 :(得分:0)
我在Windows机器上遇到了同样的问题,并通过从http://www.lfd.uci.edu/~gohlke/pythonlibs/安装numpy + mkl软件包解决了这个问题。安装完成后,重新启动shell。
答案 14 :(得分:0)
我在安装sklearn时遇到问题并尝试导入数据集 问题是cython兼容性。 在创建一个没有cython的新环境后,它就像一个魅力。
答案 15 :(得分:0)
我在重新安装anaconda时遇到了同样的问题,为我解决了该问题
答案 16 :(得分:0)
确保您要编码的文件未命名为“ sklearn”。我犯了同样的错误,现在重命名文件后,它工作正常
答案 17 :(得分:0)
无需卸载然后重新安装sklearn
尝试一下:
from sklearn.model_selection import train_test_split
答案 18 :(得分:-1)
最近我遇到了和你一样的错误。
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被名称&#34; sklearn.py&#34;混淆了,所以代码无法正确执行。我注意到你的路上还有sklearn
C:\Python27\lib\site-packages\sklearn\__init__.py
所以也许你可以试着避免&#34; sklearn&#34;在你的道路上避免歧义。希望它可以提供帮助。 (对不起,或许我误解了这个问题,可能没什么用。)