Python 2.7 sklearn 0.17.1:导入错误:无法将名称导入位置\列\刻度

Python 2.7 sklearn 0.17.1:导入错误:无法将名称导入位置\列\刻度,python-2.7,model,scikit-learn,importerror,Python 2.7,Model,Scikit Learn,Importerror,我的sklearn以前工作得很好,在安装和更新了几个其他软件包之后,我无法从sklearn导入任何模型 版本: Python 2.7.12 水蟒2.4.1(x86_64) sklearn:0.17.1(从0.18降级) 辣味:0.18.1 我尝试过的措施: 重新启动shell--->相同错误 卸载sklearn并重新安装(最新版本为0.18),将其降级至0.17-->相同错误 安装sklearn并保持版本0.18-->仍然存在错误 我的代码: from sklearn import svm 错

我的sklearn以前工作得很好,在安装和更新了几个其他软件包之后,我无法从sklearn导入任何模型

版本:

Python 2.7.12
水蟒2.4.1(x86_64)
sklearn:0.17.1(从0.18降级) 辣味:0.18.1

我尝试过的措施:

  • 重新启动shell--->相同错误

  • 卸载sklearn并重新安装(最新版本为0.18),将其降级至0.17-->相同错误

  • 安装sklearn并保持版本0.18-->仍然存在错误
  • 我的代码:

    from sklearn import svm
    
    错误

    Traceback (most recent call last):
    
      File "<ipython-input-1-fe795c4388c4>", line 3, in <module>
        from sklearn import svm
    
      File "//anaconda/lib/python2.7/site-packages/sklearn/svm/__init__.py", line 13, in <module>
        from .classes import SVC, NuSVC, SVR, NuSVR, OneClassSVM, LinearSVC, \
    
      File "//anaconda/lib/python2.7/site-packages/sklearn/svm/classes.py", line 4, in <module>
        from .base import _fit_liblinear, BaseSVC, BaseLibSVM
    
      File "//anaconda/lib/python2.7/site-packages/sklearn/svm/base.py", line 11, in <module>
        from ..preprocessing import LabelEncoder
    
      File "//anaconda/lib/python2.7/site-packages/sklearn/preprocessing/__init__.py", line 8, in <module>
        from .data import Binarizer
    
      File "//anaconda/lib/python2.7/site-packages/sklearn/preprocessing/data.py", line 25, in <module>
        from ..utils.sparsefuncs import (inplace_column_scale,
    
    ImportError: cannot import name inplace_column_scale
    
    错误:

    Traceback (most recent call last):
    
      File "<ipython-input-3-540f6792b379>", line 1, in <module>
        from sklearn.models import linear_model
    
    ImportError: No module named models
    
    错误: 回溯(最近一次呼叫最后一次):

    文件“”,第1行,在
    从sklearn导入树
    文件“//anaconda/lib/python2.7/site packages/sklearn/tree/_init__.py”,第6行,在
    from.tree导入决策树分类程序
    文件“//anaconda/lib/python2.7/site packages/sklearn/tree/tree.py”,第30行,在
    from..feature\u selection.from\u model import\u Learnt Selector或Xin
    文件“//anaconda/lib/python2.7/site packages/sklearn/feature_selection/_init__.py”,第7行,在
    from.单变量_选择导入chi2
    文件“//anaconda/lib/python2.7/site packages/sklearn/feature_selection/univariate_selection.py”,第15行,在
    从..预处理导入LabelBinarizer
    文件“//anaconda/lib/python2.7/site packages/sklearn/preprocessing/_init__.py”,第8行,在
    from.data导入二进制程序
    文件“//anaconda/lib/python2.7/site packages/sklearn/preprocessing/data.py”,第25行,在
    从..utils.sparsefuncs导入(就地列刻度),
    ImportError:无法在Place\u column\u scale中导入名称
    
    在您的终端中尝试以下操作:

    conda install -c anaconda scikit-learn=0.18.1
    
    如果不起作用,请转到您的终端并尝试:

    conda update anaconda
    
    更新完成后,请再次尝试第一位代码 希望它能起作用,请看这个问题。

    我想你也面临同样的问题。有几种方法可以解决它

  • 对于windows。删除python27\Lib\site packages\sklearn\utils\sparsefuncs.pyd

    对于mac和linux,请删除/usr/local/lib/python2.7/site-packages/sklearn/utils/sparsefuncs.so

    如果使用anaconda,请删除anaconda/lib/python2.7/site-packages/sklearn/utils/sparsefun‌​政务司司长

  • 重新安装sklearn。 pip卸载工具学习 pip安装工具学习

  • 要解决此错误,请执行以下操作:

    ImportError: cannot import name 'OrdinalEnconder' from 'sklearn.preprocessing' 
        (C:\ProgramData\Anaconda3\lib\site-packages\sklearn\preprocessing\__init__.py)
    
    您需要转到路径“C:\ProgramData\Anaconda3\lib\site packages\sklearn\preprocessing”,并检查python文件
    \uuuu init\uuuu.py
    中OneLabelEncoder的名称。该名称可能是LabelEncoder或其他名称。您需要导入具有相同名称的模块

    以下屏幕截图将帮助您更好地理解这一点:


    sklearn工作正常,但由于版本冲突,我无法运行spyder…ImportError:dlopen(//anaconda/lib/python2.7/site-packages/PyQt4/QtGui.so,2):库未加载:@rpath/libpng16.16.dylib引用自:/anaconda/lib/libQtGui.4.8.7.dylib原因:库版本不兼容:libQtGui.4.dylib需要版本39.0.0或更高版本,但libpng16.16.dylib提供版本34.0.0请在终端中尝试:conda update spyder@linzhu请不要忘记为sklearn标记上述解决方案正确!谢谢@LinZhuThank!我试过了:conda update libpng,很有效!我主要是因为版本过时了!这个答案是否准确?请分享更多细节,不要隐藏在截图中。请记住,其他人应该能够从你的答案中学习
    conda install -c anaconda scikit-learn=0.18.1
    
    conda update anaconda
    
    ImportError: cannot import name 'OrdinalEnconder' from 'sklearn.preprocessing' 
        (C:\ProgramData\Anaconda3\lib\site-packages\sklearn\preprocessing\__init__.py)