【问题标题】:Cannot import sklearn in python无法在python中导入sklearn
【发布时间】:2016-05-12 13:47:05
【问题描述】:
from sklearn import svm

导入sklearn 模块时出现以下错误。

/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/isolve/iterative.py in <module>()
  9 
 10 from scipy.sparse.linalg.interface import LinearOperator
---> 11 from scipy.lib.decorator import decorator
 12 from .utils import make_system
 13 

ImportError: No module named decorator


ImportError                               Traceback (most recent call last)
<ipython-input-6-e938be4cf50b> in <module>()
----> 1 from sklearn import svm

/usr/local/lib/python2.7/dist-packages/sklearn/__init__.py in <module>()
     54     # process, as it may not be compiled yet
     55 else:
---> 56     from . import __check_build
     57     from .base import clone
     58     __check_build  # avoid flakes unused variable error

ImportError: cannot import name __check_build

如何解决这个问题?

【问题讨论】:

    标签: python python-2.7 scikit-learn


    【解决方案1】:

    我之前也遇到过同样的错误,是因为机器没有安装 scipy 包,或者是分发错误(取决于架构或操作系统)。

    如果您的计算机中有pip,请尝试安装 scipy:

    sudo pip install scipy
    

    如果您已经拥有它,请尝试升级或重新安装软件包。

    编辑:

    按照@erip 建议的解决方案,您可以创建一个虚拟环境并测试该解决方案,以保持您的python 全局站点包目录干净:

    virtualenv test # This creates a folder with the virtual env
    source test/bin/activate
    pip install scipy
    pip install sklearn
    

    要停用和删除虚拟环境:

    deactivate
    rm -r test # Remove the folder
    

    【讨论】:

    • 就我个人而言,我不会推荐sudo pip install,而是选择virtualenv
    猜你喜欢
    • 2018-03-07
    • 2020-11-07
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 2020-04-11
    • 2019-09-30
    相关资源
    最近更新 更多