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

参考资料:
atlas官方主页:http://math-atlas.sourceforge.net/
http://210.75.240.148/blog-449511-577597.html
http://blog.csdn.net/zxia1/article/details/8164746
http://blog.sina.com.cn/s/blog_6cb8e53d0101keak.html


LAPACK版本:LAPACK 3.5.0
SCIPY版本 :3.11.17
python版本:2.7


首先明确几个库的关系:
ATLAS是python下的一个线性代数库,是基于线性代数库lapack的;
NumPy提供了一个在python中做科学计算的基础库,它重在数值计算,甚至可以说是用于多维数组处理的库;
SciPy是基于numpy,提供了一个在python中做科学计算的工具集,也就是说它是更上一个层次的库;


许多人说NumPy依赖于ATLAS,但是实测我自己没有安装ATLAS成功安装NumPy,不过直接安装scipy却报缺少BLAS库,因此选择了BLAS的优化ATLAS进行安装。


预处理:
根据atlas的安装文档,安装前,要先要禁掉CPU Throtting。由于我使用的是虚拟机,只有一个核,故而不需要此步,但仍然列出: 在Ubuntu系统上要首先安装cpufrequtils和cpufreqd这两个包, 也许还要安装powernowd包, 然后执行sudo /usr/bin/cpufreq-selector –g 


1. 安装LAPACK
网上的教程很多直接用LAPACK的压缩包作为ATLAS的参数,我 真正安装scipy的时候也是用的压缩包,不过这里仍然给出完整安装lapack的教程。(网上现有教程版本较老,实际操作需要有所改动,安装的时候我快纠结得要死)
(1)解压LAPACK,将lapack源目录下的make.inc.example 改名make.inc:
mv make.inc.example make.inc
(2)编辑一下make.inc,将编译器指定为你的编译器ifort或者gfortran (我没做修改)
(3)修改一下那个makefile,其实里面有个让你选的,
#lib : blaslib ,lapacklib , tmglib ...
lib : lapacklib ,tmglib ,..
改成
lib :blaslib ,lapacklib,tmglib ..
# lib :lapacklib ,tmglib ,..
(4) make  
最后生成3个.a文件:
菜鸟 ubuntu下安装scipy全过程 (主要是安装atlas)_第1张图片

2. 安装ATLAS 
ATLAS 完整安装步骤主要分5步,仅configure和build是必需的。下面是官网介绍:

  • configure: Tell the ATLAS build harness where your SRCdir and BLDdir directories are, and allow ATLAS to probe the platform to create ATLAS's Make.inc and BLDdir directory tree.
  • build: Tune ATLAS for your platform, and build the libraries.
  • check: Run sanity tests to ensure your libraries are producing correct answers.
  • time: Run basic timing on various ATLAS kernels in order to make sure the tuning done in the build step has resulted in efficient implementations.
  • install: Copy ATLAS's libraries from the BLDdir to some standard location.
(1)在安装前需要确定2个文件夹:
SRCdir:the path to your ATLAS source directory (eg, /home/whaley/ATLAS3.8.0).
BLDdir: the path to your ATLAS build directory (eg, /home/whaley/ATLAS3.8.0/Linux_P4E64SSE3).
2个文件目录不允许相同,但BLDdir可以不在SRCdir子目录下。

(2)从官网下载ATLAS库,解压到ATLASSRCdir文件夹,然后进入该文件夹,执行:
mkdir Linux_C2D64SSE3                         # create BLDdir
cd Linux_C2D64SSE3                            # enter BLDdir
../configure -b 64 -D c -DPentiumCPS=2800 -Fa alg -fPIC --with-netlib-lapack-tarfile=/home/haiyu/Programs_Install/lapack-3.5.0.tgz --prefix=/usr/local/atlas

粗体参数
需要根据个人系统修改:
-b 指定编译出库的类型(32位库还是64位库)
       -D c -DPentiumCPS 是指定你的CPU的时钟频率,可以通过 grep MHz /proc/cpuinfo 得到
       -Fa alg -fPIC 得到与位置无关的代码,生成动态的共享库
       --prefix 为安装路径
       --with-netlib-lapack-tarfile 则是lapack压缩包路径

成功configure的结果应该如下:
菜鸟 ubuntu下安装scipy全过程 (主要是安装atlas)_第2张图片

(3)编译:make build
      这个过程相当漫长,耐心等待!!


(4)可选步骤:check编译结果
       make check
       make ptcheck (对于多核服务器)
       make time
      如果check过程中没有报错,则可以放心进行以后的步骤;如果出现报错,也可以尝试进行后续步骤,是否成功就要靠人品了。反正我当时每步貌似都报错了o(╯□╰)o 不过目前看来没有影响。


3.安装scipy等python库


对于python 2.7 可以直接执行:
sudo apt-get install python-numpy  
sudo apt-get install python-scipy  
sudo apt-get install python-matplotlib  


4.验证scipy是否正确安装
  打开Terminal,输入:
  python
  >>>import scipy.io as io 
 没有报错则安装成功!






你可能感兴趣的:(Linux)