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
如何解决这个问题?
我很久以前也遇到了同样的错误,这是因为机器没有安装 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