numpy openblas¶
reference¶
check dependency
$ ldd /usr/lib/libblas.so
linux-vdso.so.1 => (0x00007fff91df7000)
libopenblas.so.0 => /usr/lib/libopenblas.so.0 (0x00007f2d1ca93000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2d1c78a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2d1c3c0000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2d1c1a3000)
libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f2d1be78000)
/lib64/ld-linux-x86-64.so.2 (0x0000560aa8d70000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f2d1bc38000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2d1ba22000)
libgfortran.so.3 => gfortran (–fcompiler=gnu95) - If libg2c.so is a dependency, fortran compiler option to g77 –fcompiler=gnu
$ sudo -H pip install cython
# 소스를 적당한 곳에 ..
$ git clone https://github.com/numpy/numpy.git
$ cd numpy
# git tag를 치고 적당한 신뢰할만한 버전을 찾자.
$ git checkout v1.12.1rc1
$ cp site.cfg.example site.cfg
$ nano site.cfg
# 이래 부분 커멘트 풀어주기
#[openblas]
#libraries = openblas
#library_dirs = /opt/OpenBLAS/lib
#include_dirs = /opt/OpenBLAS/include
#runtime_library_dirs = /opt/OpenBLAS/lib
--> change to
[openblas]
libraries = openblas
library_dirs = /usr/lib
include_dirs = /usr/include
runtime_library_dirs = /usr/lib
# openblas settings
$ python setup.py build --fcompiler=gnu95
$ sudo -H pip install .
# 설치 확인
$ cd .. (동일 디렉토리에서 하면안)
$ python
>> import numpy as np
>> np.__config__.show()
참고로 numpy 소스빌드를 하면 기본이
/usr/local/lib/python2.7/dist-packages/numpy
로 설치된다.
scipy¶
sudo -H pip install scipy