centos6.4 下安装numpy、scipy、matplotlib

各个安装包版本:html

scipy-0.11.0python

numpy-1.6.2c++

nose-1.2.1后端

lapack-3.4.2工具

##atlas-3.10.0 (http://pkgs.fedoraproject.org/repo/pkgs/atlas/)测试

 

依赖关系:scipy的安装须要依赖于numpy、lapack、atlas(后二者都是线性代数工具包,不清楚的自行google之。。。),而numpy和sci的测试程序的运行又依赖于nose,所以,整个安装过程必需要按顺序执行的,不然是没法执行下去的。ui

sudo yum -y install gcc gcc-c++ numpy python-devel scipy

sudo pip install nose

sudo pip install numpy

主要是在安装scipy时问题多多:google

1. Blas(http://www.netlib.org /blas/) libraries not found.spa

Directories to search for the libraries can be specified in the.net

numpy/distutils/site.cfg file (section [blas])or by setting

the BLAS environment variable.

找不到blas

解决: yum install blas-devel

2.

居然不出现BLAS的错误了

出现了LAPACK的错误

解决:  yum install lapack-devel

 

而后, cd scipy-0.13.3 && sudo python setup.py install

顺利编译了

以后也顺利安装了

看网上说 安装numpy前要安装gcc-gfortran、blas-devel、lapack-devel

没有遇到gcc-gfortran的错误,多是以前机器上装了吧

最后是 matplotlib安装....

所需依赖numpy, libpng 1.2 (or later), `freetype` 1.4 (or later), `dateutil` 1.1 or later, `pyparsing`

sudo -E /usr/local/bin/pip3 install python-dateutil
sudo -E /usr/local/bin/pip3 install pyparsing

wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz

wget https://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.3.1/matplotlib-1.3.1.tar.gz

libpng-1.2.51.tar.gz

按照附带的安装文件说明安装便可.

 

 

编译安装是没什么问题

但是问题在安装后,import也没问题

但是就是show()方法图像出不来

一直没反应

一直对着setup.py目录下的INSTALL文件的require那一段检查软件的版本

都没问题

网上也说matplotlib的会自动检查后端环境

CentOS下也已经有了Tkinter

后来 用

yum install *-tk* 将两个以-tk结尾的软件装上

yum install *gtk2-* 将几个已gtk2开头的软件全装上

从新编译安装一次matplotlib

show()就能够出现图像来了

可能那几个软件只要装某个就能够了,多装了一些

不过总算是把numpy、scipy和matplotlib都搞好了

 

附带:

Linux 安装 cblas, lapack, lapacke:

1.确保机器上安装了gfortran编译器,若是没有安装的话,可使用sudo apt-get install gfortran

2.下载blascblaslapack 源代码, 这些源码均可以在 http://www.netlib.org 上找到,下载并解压。这里提供我安装时的下载连接 http://www.netlib.org/blas/blas.tgz http://www.netlib.org/blas/blast-forum/cblas.tgz http://www.netlib.org/lapack/lapack-3.4.2.tgz,解压以后会有三个文件夹, BLASCBLASlapack-3.4.2

3.这里就是具体的编译步骤

1)编译blas, 进入BLAS文件夹,执行如下几条命令

1
2
3
gfortran -c  -O3 *.f   # 编译全部的 .f 文件,生成 .o文件
ar rv libblas.a *.o   # 连接全部的 .o文件,生成 .a 文件
su  cp  libblas.a  /usr/local/lib   # 将库文件复制到系统库目录

2)编译cblas, 进入CBLAS文件夹,首先根据你本身的计算机平台,将目录下某个 Makefile.XXX 复制为 Makefile.in , XXX表示计算机的平台,若是是Linux,那么就将Makefile.LINUX 复制为 Makefile.in,而后执行如下命令

 

 

1
2
3
cp  .. /BLAS/libblas .a  testing   # 将上一步编译成功的 libblas.a 复制到 CBLAS目录下的testing子目录
make  # 编译全部的目录
sudo  cp  lib /cblas_LINUX .a  /usr/local/lib/libcblas .a  # 将库文件复制到系统库目录下

3)编译 lapack以及lapacke,这一步比较麻烦,首先固然是进入lapack-3.4.2文件夹,而后根据平台的特色,将INSTALL目录下对应的make.inc.XXX 复制一份到 lapack-3.4.2目录下,并命名为make.inc, 这里我复制的是 INSTALL/make.inc.gfortran,由于我这里用的是gfortran编译器。

修改lapack-3.4.2/Makefile, 由于lapack以来于blas库,因此须要作以下修改

#lib: lapacklib tmglib

lib: blaslib variants lapacklig tmglib

而后执行如下命令:

 

1
2
3
4
5
6
make  # 编译全部的lapack文件
cd  lapacke  # 进入lapacke 文件夹,这个文件夹包含lapack的C语言接口文件
make  # 编译lapacke
cp  include/*.h  /usr/local/include  #将lapacke的头文件复制到系统头文件目录
cd  ..  #返回到 lapack-3.4.2 目录
cp  *.a  /usr/local/lib  # 将生成的全部库文件复制到系统库目录

这里的头文件包括: lapacke.h, lapacke_config.h, lapacke_mangling.h, lapacke_mangling_with_flags.h lapacke_utils.h

生成的库文件包括:liblapack.a, liblapacke.a, librefblas.a, libtmglib.a

至此cblas和lapack就成功安装到你的电脑上了。

 

测试:

能够到 http://www.netlib.org/lapack/lapacke.html 找测试代码,这里lapacke的官方文档,好比以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <lapacke.h>
 
int  main ( int  argc,  const  char  * argv[])
{
    double  a[5*3] = {1,2,3,4,5,1,3,5,2,4,1,4,2,5,3};
    double  b[5*2] = {-10,12,14,16,18,-3,14,12,16,16};
    lapack_int info,m,n,lda,ldb,nrhs;
    int  i,j;
 
    m = 5;
    n = 3;
    nrhs = 2;
    lda = 5;
    ldb = 5;
 
    info = LAPACKE_dgels(LAPACK_COL_MAJOR, 'N' ,m,n,nrhs,a,lda,b,ldb);
 
    for (i=0;i<n;i++)
    {
       for (j=0;j<nrhs;j++)
       {
          printf ( "%lf " ,b[i+ldb*j]);
       }
       printf ( "\n" );
    }
    return (info);
}

将上诉代码保存为test.c,编译时,别忘了使用gfortran,此外,还须要链接用到的库,编译上面的代码,应使用以下命令:

1
gfortran  test .c -llapacke -llapack -lrefblas

若是能正常编译,即表示安装成功。若是要了解这段代码的具体含义,能够到 http://www.netlib.org/lapack/lapacke.html 查看

相关文章
相关标签/搜索