linux python 安装 nose lapack atlas numpy scipy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的时候会报错。

如下错误

[email protected]:~/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就好了。

[email protected]:~/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” ,就下载此包安装即可





























以上是关于linux python 安装 nose lapack atlas numpy scipy的主要内容,如果未能解决你的问题,请参考以下文章

python测试框架nose

python nose测试

python import sklearn包出错 ImportError: No module named nose.tools

python nose测试框架全面介绍十---用例的跳过

python好用的测试库-Nose

Python: 关于nose