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


     

    系统环境:

    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(后两者都是线性代数工具包),而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')

    REF:

    http://blog.sina.com.cn/s/blog_62dfdc740101aoo6.html

  • 相关阅读:
    【BZOJ】【1833】【ZJOI2010】count 数字计数
    bzoj2588: Spoj 10628. Count on a tree(树上第k大)(主席树)
    NOIP2017金秋冲刺训练营杯联赛模拟大奖赛第一轮Day2题解
    NOIP2017金秋冲刺训练营杯联赛模拟大奖赛第二轮Day2题解
    51nod 1962 区间计数(单调栈+二分)
    51nod 1486 大大走格子(DP+组合数学)
    bzoj2276: [Poi2011]Temperature(单调队列/堆)
    5028: 小Z的加油店(线段树)
    bzoj2216: [Poi2011]Lightning Conductor(分治决策单调性优化)
    bzoj1057: [ZJOI2007]棋盘制作(悬线法)
  • 原文地址:https://www.cnblogs.com/emanlee/p/4382061.html
Copyright © 2020-2023  润新知