python依赖包numpy、scipy、scikit-learn运行冲突解决方案

在运行python的decision tree时,由于.py文件开头引入了sklearn包(见下表),导致运行错误。

import numpy as np
import scipy as sp
from sklearn import tree
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import classification_report
from sklearn.cross_validation import train_test_split

错误如下:

python依赖包numpy、scipy、scikit-learn运行冲突解决方案_第1张图片

 

检查很久,饶了一圈,终于搞清楚原因。

numpy包必须包含MKL,网上的解释是:不带MKL的numpy包是免费版的,不能处理海量数据类型。

如果我们需要引用海量数据处理的函数,则需要带MKL的numpy。


解决方法:

到网站上http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy下载包含MKL的,与你操作系统对应的whl包,到本地,用pip install安装。

同样,在上述网站下载scipy到本地,用pip install安装。

再次运行程序,OK,问题解决,结果如下。


python依赖包numpy、scipy、scikit-learn运行冲突解决方案_第2张图片


******

还是建议用anaconda来安装python的依赖包,下一步我将学习怎么用它。

pip比easy_install还是方便些,但没有兼容性检查,运行时才出错,很费劲。

希望用anaconda能解决这些问题。


参考文章:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

你可能感兴趣的:(python,numpy,sklearn)