Linux ·

Python下科学计算包numpy和SciPy的安装

Python下大多数工具包的安装都很简单,只需要执行 “python setup.py install”命令即可。然而,由于SciPy和numpy这两个科学计算包的依赖关系较多,安装过程较为复杂。网上教程较为混乱,而且照着做基本都不能用。在仔细研读各个包里的README和INSTALL之后,终于安装成功。现记录如下。

系统环境:
OS:RedHat5
 Python版本:Python2.7.3
 gcc版本:4.1.2

各个安装包版本:
scipy-0.11.0
 numpy-1.6.2
 nose-1.2.1
 lapack-3.4.2
 atlas-3.10.0
依赖关系:scipy的安装需要依赖于numpy、lapack、atlas(后两者都是线性代数工具包,不清楚的自行google之。。。),而numpy和sci的测试程序的运行又依赖于nose,因此,整个安装过程必须要按顺序执行的,否则是无法执行下去的。

 安装步骤:
1、安装nose
这个安装比较简单,解压缩nose的安装文件,进入nose的目录,直接运行setup.py即可:
tar -zxvf nose-1.2.1.tar.gz
 cd nose-1.2.1
 python setup.py install
 2、安装lapack
由于最新版本的ATLAS可以直接集成lapack的安装压缩文件进行编译,因此,如果仅在python下使用的话,可以不用安装lapack。只需要下载压缩文件:lapack-3.4.2.tgz 即可。
3、安装ATLAS
这个的安装主要是配置一些选项,包括配置成64位库文件、位置无关的以及共享的链接库。详细的配置说明在atlas安装包 doc/ 下的pdf文件中。可查阅。
 下面是我的安装过程:
tar -jxvf atlas3.10.0.tar.bz2
 cd ATLAS
 mkdir obj64
 ../configure -b 64 -Fa alg -fPIC -shared --prefix=/配置atlas的安装路径/atlas --with-netlib-lapack-tarfile=/lapack安装压缩文件存放的目录/lapack-3.4.2.tgz
 (注:这个配置时间非常长,在Core i7 处理上,大概1个小时左右)
make
(下面是一些检查过程,保证没有问题之后再进行安装)
make check
 make time
 make install
至此,atlas安装完成。不过我们要记录下编译过程中所用的fortran编译器类型,这个信息在下面安装numpy和scipy的时候要用。还是在目录 obj64/ 下,执行
fgrep 'F77 =' Make.inc
可以看到 F77 = gfortran
记下这个编译器类型 gfortran.
 4、安装numpy
 numpy和scipy的安装过程都要显式的指明所用fortran编译器的类型,而且要与前面编译atlas时一致(在本文中即:gfortran),这一点非常重要,否则很多功能都会出错。
 首先配置numpy目录下的site.cfg文件,指明atlas库的位置:
tar -zxvf numpy-1.6.2.tar.gz
 cd numpy-1.6.2
 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
安装完成
5、安装scipy
与安装numpy类似:
tar -zxvf scipy-0.11.0.tar.gz
 cd scipy-0.11.0
 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的话,执行:
python setup.py build --fcompiler=gnu95
如果前面得到的Fortran编译器是g77的话,执行:
python setup.py build --fcompiler=gnu
然后执行
python setup.py install
安装完成
 然后可以在python下执行相应的测试程序:
python
 >>> import nose
 >>> import numpy
 >>> import scipy
 >>> numpy.test('full')
等待。。。。
>>> scipy.test('full')
到这里,整个安装过程结束。

《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

Ubuntu下用Python搭建桌面算法交易研究环境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 语言的发展简史 http://www.linuxidc.com/Linux/2014-09/107206.htm

参与评论