linux下python安装 nose lapack atlas numpy scipy sklearn

自己走了很多弯路,总结下:

各个安装包版本:
scipy-0.16.1
numpy-1.9.2
nose-1.3.7
lapack-3.5.0
atlas-3.10.2
sklearn-0.16.1

安装步骤:
1、安装nose
这个安装比较简单,解压缩nose的安装文件,进入nose的目录,直接运行setup.py即可:
tar -zxvf nose-1.3.7.tar.gz
cd nose-1.2.1
python setup.py install

2、安装lapack
由于最新版本的ATLAS可以直接集成lapack的安装压缩文件进行编译,因此,如果仅在python下使用的话,可以不用安装lapack。只需要下载压缩文件:lapack-3.5.0.tgz 即可。


3、安装ATLAS
这个的安装主要是配置一些选项,包括配置成64位库文件、位置无关的以及共享的链接库。详细的配置说明在atlas安装包 doc/ 下的pdf文件中。可查阅。
下面是我的安装过程:
tar -jxvf atlas3.10.0.tar.bz2
cd ATLAS
mkdir myobj64
cd myobj64

检查下是否安装
gcc -v
g++ -v
gfortran -v

yum install -y gcc            #安装gcc
yum -y install gcc-c++      #安装gcc-c++
yum -y install gcc-gfortran #安装gfortran

../configure -b 32 -Fa alg -fPIC -shared -prefix=/配置atlas的安装路径/ATLAS --with-netlib-lapack-tarfile=/lapack安装压缩文件存放的目录/lapack-3.5.0.tgz

ps:这个配置过程时间很长,我在虚拟机上跑了好几个小时。。。渣机器伤不起。。。最后还报了错,不过直接忽略了,最后全部装好,还是能用的。。
然后是:
make
make check
make time
make install


至此,atlas安装完成。不过我们要记录下编译过程中所用的fortran编译器类型,这个信息在下面安装numpy和scipy的时候要用。还是在目录 myobj64/ 下,执行
fgrep "F77 =" Make.inc
可以看到  F77 = gfortran
记下这个编译器类型 gfortran.


4.安装 numpy
首先配置numpy目录下的site.cfg文件,指明atlas库的位置:

下载地址: https://pypi.python.org/pypi/numpy

下载最新版本: numpy-1.9.0.tar.gz
tar -zxvf numpy-1.9.0.tar.gz
cd numpy-1.9.0
接下来是配置 site.cfg文件。这是网上有些文章是这么介绍的,我也照做了,后来发现 不去配置也没关系。因此我建议先不去配置,直接安装:
python setup.py install

如果安装没有报错了。。那就不要配置site.cfg了
如果安装报错,进行如下操作:
 cp site.cfg.example site.cfg
 vim site.cfg
配置成如下格式:
[DEFAULT]
 library_dirs = /usr/local/lib:/atlas的安装目录/atlas/lib
 include_dirs = /usr/local/include:/atlas的安装目录/include
 [blas_opt]
 libraries = f77blas, cblas, atlas
 [lapack_opt]
 libraries = lapack, f77blas, cblas, atlas
 [amd]
 amd_libs = amd
 [umfpack]
 umfpack_libs = umfpack
接下来配置安装numpy所需要的Fortran编译器类型:
 如果前面得到的Fortran编译器是gfortran的话,执行:
pythonsetup.py build --fcompiler=gnu95
如果前面得到的Fortran编译器是g77的话,执行:
python setup.py build --fcompiler=gnu
然后执行
python setup.py install
安装完成

如果安装报“SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel”,执行下:
yum install python-devel


5.安装scipy(已安装gfortran)
下载地址: https://pypi.python.org/pypi/scipy,下载最新版本:scipy-0.15.1.tar.gz

先要安装,blas
随便找一个目录,下载blas
wget http://www.netlib.org/blas/blas.tgz
tar xzf blas.tgz
cd BLAS

#gfortran -O2 -std=legacy -fno-second-underscore -c *.f    # with gfortran
gfortran -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f
# Continue below irrespective of compiler:
ar r libfblas.a *.o
ranlib libfblas.a
rm -rf *.o
export BLAS=~/自己的目录/BLAS/libfblas.a

然后再把第2步下载的lapack-3.5.0.tgz 解压出来
tar xzf lapack.tgz
cd lapack-*/
cp INSTALL/make.inc.gfortran make.inc          # on Linux with lapack-3.2.1 or newer

vim make.inc
添加
make.inc file by setting OPTS = -O2 -fPIC and NOOPT = -O0 -fPIC

make lapacklib
make clean
export LAPACK=~/自己的目录/lapack-*/liblapack.a

最后,终于可以安装 scipy了,然后网上有些文章又说要配置site.cfg。可我在 解压出来的文件夹里更笨找不到这个site.cfg文件。所以直接跳过这一步了。
回到刚才的scipy目录
cd scipy-0.14.0
安装
python setup.py install

6、验证
打开 python,注意在打开python之前 不能在scipy这些目录下,否则 在 import scipy的时候会报错。

>>> import nose
>>> nose
<module 'nose' from '/usr/local/lib/python2.6/dist-packages/nose-1.3.4-py2.6.egg/nose/__init__.pyc'>
>>> import numpy
>>> numpy
<module 'numpy' from '/usr/local/lib/python2.6/dist-packages/numpy/__init__.pyc'>
>>> import scipy
>>> scipy
<module 'scipy' from '/usr/local/lib/python2.6/dist-packages/scipy/__init__.pyc'>
>>>

7、安装sklearn
下载地址:http://pypi.python.org/pypi/scikit-learn/

解压:
tar -zxvf scikit-learn-0.16.1.tar.gz

安装: python setup.py install

相关文章
相关标签/搜索