zoukankan      html  css  js  c++  java
  • linux python 安装 nose lapack atlas numpy scipy

    linux python 安装 nose lapack atlas numpy scipy

    --http://lib.csdn.net/article/python/1262

    作者:maple1149

    The first step of machine larning .

    环境配置:

    OS:ubuntu 10.04

    Python :Python 2.6.5


    1.安装nose

    这个安装还比较顺利,基本没报错。。。

    下载nose: https://nose.readthedocs.org/en/latest/

    
    cd nose-1.3.4
    python setup.py install
    检验安装成功:
    #python
    >>> import nose
    >>> nose
    <module 'nose' from '/usr/local/lib/python2.6/dist-packages/nose-1.3.4-py2.6.egg/nose/__init__.pyc'>
    >>> 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9


    2.安装 lapack

    官方下载地址: http://www.netlib.org/lapack/

    我下的是lapack-3.5.0.tgz。下好了,暂时放着,后面有用。。。


    3.安装atlas

    下载地址: http://sourceforge.net/projects/math-atlas/,下载最新版本:atlas3.10.2.tar.bz2 (下载日期:2014-10-26)

    tar -jxvf atlas3.10.2.tar.bz2  cd ATLAS mkdir myobj64 cd myobj64

    配置configure:

    第一种配置方式(笔者使用第一种方式的,第二种没试过): ../configure -b 32 -Fa alg -fPIC -shared –prefix=/配置atlas的安装路径/ATLAS -–with-netlib-lapack-tarfile=/lapack安装压缩文件存放的目录/lapack-3.5.0.tgz

    -–with-netlib-lapack-tarfile 这个编译选项 前面是 ‘--’ 2个 横杆。网上很多都是一个的,一顿报错了。。看了里面的configure源文件才知道。。。

    第二种配置方式:

    sudo ../configure -b 64 -D c -DPentiumCPS=3901.000 -Fa alg -fPIC  –prefix=/opt/atlas3.10.2/ -–with-netlib-lapack-tarfile=/opt/lapack-3.5.0/lapack-3.5.0.tgz 其中的参数说明如下:        -b 指定编译出库的类型(32位库还是64位库)根据自己的机器来设置        -D c -DPentiumCPS 是指定你的CPU的时钟频率,可以通过 grep MHz /proc/cpuinfo 得到 numpy_scipy/ATLAS/my64Obj$ grep MHz /proc/cpuinfo    cpu MHz        : 3901.000    cpu MHz        : 3901.000    cpu MHz        : 3901.000    cpu MHz        : 3901.000         -Fa alg -fPIC 得到与位置无关的代码,生成动态的共享库        –prefix 为安装路径        -–with-netlib-lapack 则是制定lapack库文件(此时lapack库文件还没有生成,先随便指定一个)

    执行上述命令出错,提示 Unable to find usable compiler for F77; abortingMake sure compilers are in your path, and specify good compilers to configure (see INSTALL.txt or ‘configure –help’ for details)make[1]: *** [atlas_run] Error 8 make[1]: Leaving directory `/home/homer/Downloads/tool_server/python/numpy_scipy/ATLAS/my64Obj’ make: *** [IRun_comp] Error 2 ERROR 512 IN SYSCMND: ‘make IRun_comp args=”-v 0 -o atlconf.txt -O 1 -A 26 -Si nof77 0 -V 480  -Fa ic ‘-fPIC’ -Fa sm ‘-fPIC’ -Fa dm ‘-fPIC’ -Fa sk ‘-fPIC’ -Fa dk ‘-fPIC’ -Fa xc ‘-fPIC’ -Fa gc ‘-fPIC’ -Fa if ‘-fPIC’ -b 64″‘ mkdir src bin tune interfaces cd src ; mkdir testing auxil blas lapack pthreads threads cd src/blas ;            mkdir f77reference reference gemv ger gemm kbmm                  level1 level2 level3 pklevel3 这是因为Ubuntu系统没有F77编译器,需要安装,安装命令如下: sudo apt-get install fort77

     
    • 1


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

    然后是:

    make

    make check

    make time

    make install

    • 1


    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了

    ps:配置site.cfg文件的方式可以看底下的参考文献。

    5.安装scipy(大坑来了。。。)

    下载地址: https://pypi.python.org/pypi/scipy,下载最新版本:scipy-0.14.0.tar.gz

    tar -zxvf scipy-0.14.0.tar.gz

    cd scipy-0.14.0

    然后网上有些文章又说要配置site.cfg。可我在 解压出来的文件夹里更笨找不到这个site.cfg文件。所以直接跳过这一步了。

    然后执行

    python setup.py install

    又是一顿报错。。。。

    找到了 stackoverflow上同样的问题以及答案。

    Python scipy needs BLAS?

    原来在 安装 scipy之前 还要安装 blas

    随便找一个目录,下载blas

    wget http://www.netlib.org/blas/blas.tgz
    tar xzf blas.tgz
    cd BLAS
    
    ## NOTE: The selected fortran compiler must be consistent for BLAS, LAPACK, NumPy, and SciPy.
    ## For GNU compiler on 32-bit systems:
    #g77 -O2 -fno-second-underscore -c *.f                     # with g77
    #gfortran -O2 -std=legacy -fno-second-underscore -c *.f    # with gfortran
    ## OR for GNU compiler on 64-bit systems:
    #g77 -O3 -m64 -fno-second-underscore -fPIC -c *.f                     # with g77
    gfortran -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f    # with gfortran
    ## OR for Intel compiler:
    #ifort -FI -w90 -w95 -cm -O3 -unroll -c *.f
    
    # Continue below irrespective of compiler:
    ar r libfblas.a *.o
    ranlib libfblas.a
    rm -rf *.o
    export BLAS=~/自己的目录/BLAS/libfblas.a
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    这里有4种编译方式,分别是  32位和64机器的情况,以及 g77和gfortran编译器的情况。

    笔者的机器是32位,g77和gfortran编译器都没装。刚开始打算安装g77,发现这个编译器几乎要淘汰了,安装包都找不到。

    于是安装了gfortran

    按照下述操作即可

    sudo apt-get update

    sudo apt-get install gfortran

    然后选择上面的 编译指令

    gfortran -O2 -std=legacy -fno-second-underscore -c *.f

    ar r libfblas.a *.o ranlib libfblas.a rm -rf *.o

    • 1


    查看下BLAS目录,确认生成了libfblas.a.

    export BLAS=/自己的目录/BLAS/libfblas.a #这边很重要,不然后面安装scipy要报错的。。。

    然后再把第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
    make lapacklib
    make clean
    export LAPACK=~/自己的目录/lapack-*/liblapack.a
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    按照上述操作即可

    最后一步的 export 改成自己的目录。

    最后,终于可以安装 scipy了

    回到刚才的scipy目录

    cd scipy-0.14.0

    安装
    python setup.py install

    6.验证成功

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

    如下错误

    root@ubuntu:~/machine_learning/scipy-0.14.0# python Python 2.6.5 (r265:79063, Oct  1 2012, 22:07:21)  [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import scipy Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "scipy/__init__.py", line 112, in <module>     raise ImportError(msg) ImportError: Error importing scipy: you cannot import scipy while         being in scipy source directory; please exit the scipy source         tree first, and relaunch your python intepreter. >>> 

    • 1


    换个目录,再进入python就好了。

    root@ubuntu:~/machine_learning# python Python 2.6.5 (r265:79063, Oct  1 2012, 22:07:21)  [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 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'> >>> 


    这样子就表示安装都成功了。。。


    参考资料:

    Linux 安装numpy和scipy
    Python scipy needs BLAS?
    python : scipy install on ubuntu

    菜鸟 ubuntu下安装scipy全过程 (主要是安装atlas)


    -------------------------------------------------------------------------------------------------------------------------

    red hat linux离线安装python机器学习包 这篇就够了!

    http://blog.csdn.net/chengfulukou/article/details/53344522

    标签: pythonnumpyred hat机器学习
    分类:
    实际上 linux安装python机器学习包 只要 安装|Anaconda版本的python即可 速度快 而且包含了常用的机器学习包
    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(这里share前面是“--”网上很多都错了。。。)
    (注:这个配置时间很长 一般虚拟机大概5小时)
    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')
    安装matplotlib
    zlib(下载地址)
    1. libpng(下载地址)
    1. freetype(下载地址)
      1. matplotlib(下载地址)
        1. 例如出现“no local packages on working download links found for pyparsing” ,就下载此包安装即可
  • 相关阅读:
    [JavaScript]使用setTimeout减少多余事件
    Spring.NET教程(二)——环境搭建(基础篇) (转)
    IIS开启GZIP压缩效率对比及部署方法 (转)
    提高表格操作的十五款jQuery插件
    SQLServer和Oracle常用函数对比
    [hystar整理]Entity Framework 教程
    Remoting方法重载遇到的一个问题
    异变: input的背景background
    实时股票数据接口
    发现并解决ASP.NET内存耗尽(OOM),让服务器"永不重启"
  • 原文地址:https://www.cnblogs.com/anruy/p/7522111.html
Copyright © 2011-2022 走看看