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的话,执行:

python setup.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')

到这里,整个安装过程结束。

最新文章

  1. PHP延迟静态绑定
  2. 自己瞎捣腾的Win7下Linux安装之路-----图例篇
  3. VC亲自教你写BP
  4. ural 1269. Obscene Words Filter
  5. Codeforce Round #218 Div2
  6. 给NIOS II CPU添加一颗澎湃的心——sysclk的使用
  7. Linux网桥介绍
  8. oracle_constraint的用处
  9. C#操作XML方式
  10. “java.lang.IllegalArgumentException: Failed to evaluate expression ‘ROLE_USER’”报错的解决
  11. jquery基本选择器:id选择器、class选择器、标签选择器、通配符选择器
  12. chat聊天系统项目
  13. 修改Docker默认的网段
  14. java 运行 .jar 文件乱码
  15. 《Linux.Shell编程从入门到精通》读书笔记
  16. vue 自动化部署 jenkins 篇
  17. numpy---one
  18. WinForm中DataGridView的TextBoxColumm换行
  19. 三分钟彻底禁用、隐藏Android设备底部虚拟按钮(亲测有效)
  20. JIRA - 使用指南(项目跟踪管理工具)

热门文章

  1. open()函数文件操作
  2. jquery自定义插件-参数化配置多级菜单导航栏插件
  3. 开源IDS系列--解决barnyard2 停止运行 libmysqlclient.so.16.0.0
  4. bzoj 1497 最小割
  5. Redis实战配置(三)
  6. JavaScript之setInterval() 函数
  7. 在 github 中新建仓库后,如何上传文件到这个仓库里面。
  8. enumerate()和map()函数用法
  9. Python类总结-多态及鸭子类型
  10. 【SpringBoot】关闭HttpClient无用日志