红联Linux门户
Linux帮助

ubuntu安装scikit-learn的注意事项

发布时间:2015-11-30 10:27:21来源:linux网站作者:BYR_jiandong

1、主要python的版本

scikit-learn is tested to work underPython 2.6, Python 2.7, and Python 3.4. (using the same codebase thanks to an embedded copy of six).It should also work with Python 3.3.

The required dependencies to build the software areNumPy >= 1.6.1, SciPy >= 0.9 and a working C/C++ compiler.

总结:装scikit-learn 必须要注意自己python的版本,我的系统装了python2.7和python3.2.3,查了一下官网,python3.2.3没有对应的scikit-learn。谨记,一定根据自己系统python的版本来安装scikit-learn。


2、安装scikit-learn步骤。

1、首先需要安装Cython,网上下载后进行本地安装 python setup.py install。(官网没讲,不过我还是装了,参考自http://blog.csdn.net/lanbing510/article/details/41125189)

2、参照官网的做法:http://scikit-learn.org/stable/developers/advanced_installation.html#install-by-distribution。主要是安装依赖项之类的,官网用源码安装,我试了一下,在我的机子上报错,所以,安装完依赖项之后,先不要用源码安装。

3、虽然根据官网去安装,在安装的过程中还是会遇到很多问题,我遇到的问题如下,及相对应的解决方案。


1、根据官网的步骤,在安装完依赖项,比如numpy,scipy之后,然后下载源码,进行源码安装,

python setup.py build
sudo python setup.py install

但是,我跟官网的步骤做,却报错。因为我系统python解释器默认是python2.7,所以才是python setup.py build。如果,是想在python3.4下安装scikit-learn,那么相应的命令应该是python3 setup.py build。

python setup.py build 报错信息如下:

ubuntu安装scikit-learn的注意事项

后来在网上搜了方法,在依赖项装完之后,直接用命令sudo apt-get install python-sklearn安装。


2、undefined symbol: ATL_chemv 错误

import sklearn 没出错,说明sklearn已经装好。

但是,from sklearn import preprocessing 出现错误:

ImportError: /usr/lib/liblapack.so.3gf: undefined symbol: ATL_chemv

ubuntu安装scikit-learn的注意事项

解决方案:

http://stackoverflow.com/questions/8917977/installing-lapack-for-numpy

sudo apt-get remove libopenblas-base

亲测有效。

至此,在我机器上,基于python2.7的scikit-learn安装完毕


3、安装的过程中还容易遇到如下错误:

ImportError: No module named _check_build

ubuntu安装scikit-learn的注意事项

解决方案:可以参考博客 http://blog.csdn.net/m53931422/article/details/42489897。