Numpy 以及 Scipy 安装

1,安装软件途中需要安装这俩,首先升级下python到2.7 or newer

从python官网下载相应的source package,

$tar -xJf Python-2.7.xz

$cd Python-2.7

$./configure --prefix=$HOME/python-2.7/ --enable-shared

#这里安装在自己的工作目录下, 避免影响其他人;而后者的shared的选项,我记得是默认打开的;

$make; make install

#不需要root previlidge就可以安装了

2,阿西吧, nose

安装了python2.7,编译时发现缺少nose,继续安装之:

$tar -xzf  nose-1.3.4.tar.gz

$cd node-1.3.4

使用刚才安装的python来运行setup.py

$~/python2.7/bin/python2.7  setup.py install 

3,机器上啥都没有,还要继续安装lapack

现在lapack最新版本,3.5.0,在我所处的网络环境中,下载极其令人发指的缓慢,还多次自动断了。。。。发现百度云盘有个离线下载,不错,刷刷的下完。

这个真不是广告,留念。。。好用,留念。

$tar -xzf lapack-3.5.0.tar.gz

$cd lapack-3.5.0

$cp make.inc.example make.inc

$vim make.inc

第一次安装,修该make.in

FORTRAN = gfortran
OPTS = -O2 -frecursive
DRVOPTS = $(OPTS)
NOOPT = -O0 -frecursive
LOADER = gfortran

这里我选用gfortran,这货已经兼容f77和f95,省心。

$vim Makefile

all: lapack_install lib blas_testing lapack_testing

#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib

需要lib中的那几个静态库的生成

$make

$sudo cp *.a /usr/local/lib

$sudo cp lapacke/include/*.h /usr/local/include

4,阿西~~需要安装atlas库

下载源码包,解压,

$tar -xzf atlas-xx.tar.gz

$cd ATLAS

$mkdir build;  cd build

$../configure -b 64 -Fa alg -fPIC --shared --with-netlib-lapack-tarfile=/home/User_name/lapack-3.5.0.tgz --prefix=/home/User_name/atlas

$make

这个时间,如很多人所言,非常的长,可以洗个澡睡个觉再发个呆,估计也没结束。。我是下午五点开始编译次日清晨来打扫现场,额,完毕了

(但是也未必,后来在其他的机器上编译时,时间正常。。。)

$make check

$make time

$make install

由于之前指定了安装路径在个人的/home 之下,所以就不需要root previlege

哦,对了,当前仍在build/ 目录下,作:

$fgrep "F77 = " Make.inc

我的结果是: F77 = /usr/bin/gfortran

后面编译时,尽量保持这个编译器的一致性,避免不必要的麻烦。。

5,安装Suite_Sparse库

额,有趣;首先现在源码,没什么好说的

$tar -xzf SuiteSparse-4.4.3.tar.gz

$cd SuiteSparse

$vim SuiteSparse_config/SuiteSparse_config.mk

修改OpenBLAS的选项,(哦, 对了,您得安装好这个哎,不过我已经完成,在安装th时做的。)

# OpenBLAS
BLAS = -lopenblas -L/opt/OpenBLAS/lib   #因为我的OpenBLAS安装在此了

后来SuiteSparse,安装在默认的路径下了:/usr/local/lib  + /usr/local/include/ ,这是主要考虑到大家都会用到他,当然你也可以修改上述的.mk文件,配置自己的路径

里面的GCC可能需要打开,

另外,有时也需要把/opt/OpenBLAS/lib 加入到 $LD_LIBRARY_PATH 当中。

6,安装Numpy

下载源码包,

$tar -xzf Numpy-1.9.1.tgz

$cd Numpy-1.9.1

看到不少资料建议此时修改site.cfg,来完成后续编译,如果是懒人,可以酱紫:

$~/python2.7/bin/python2.7  setup.py build --fcompiler=gnu95 --force,

不过后续有很多麻烦,还会回退到这里。

但是如果勤快………  ^_^:

$cp site.cfg.example site.cfg

$vim site.cfg

[DEFAULT]
library_dirs = /usr/local/lib:/home/My_name/atlas/lib
include_dirs = /usr/local/include:/home/My_name/atlas/include

[blas_opt]
libraries = f77blas, cblas, atlas

[lapack_opt]
libraries = lapack, f77blas, cblas, atlas

[openblas]
libraries = openblas
library_dirs = /opt/OpenBLAS/lib
include_dirs = /opt/OpenBLAS/include

然后,保存退出,继续编译,记得之前python2.7的安装路径,以及所使用的是gfortran进行编译的,

$~/python2.7/bin/python2.7 setup.py build --fcompiler=gnu95    

$~/python2.7/bin/python2.7 setup.py install

7,安装scipy

下载源码包,这样安装最粗暴

$tar -xJf scipy-0.15.1.tar.xz

$cd scipy-0.15.1/

之前看到不少文档说,这里可以修改site.cfg,可是没有啊。。。于是,就直接把之前numpy中的site.cfg拷贝过来充数

$cp ../Numpy-1.9.1/site.cfg ./

阿西吧,坑爹啊,肿么没人告诉我。。

$~/python2.7/bin/python2.7 setup.py build --fcompiler=gnu95

能跑下去,那就继续,这是一个蛋疼的历史过程,去研究下其他代码或者写稿报告神马的,只要不虚度年华。。

$~/python2.7/bin/python2.7 setup.py install

=========  我不是分割线  ===============

测试下呗,看人品如何:首先逃离原来的scipy安装目录

$cd ../        

翱翔:

$~/python2.7/bin/python2.7

>>>import nose

>>>import numpy

>>>import scipy

Ctrl+D

原文地址:https://www.cnblogs.com/superniaoren/p/4255376.html