LoginSignup
5
5

More than 5 years have passed since last update.

ネット接続なしのLinuxへscipyをインストール

Last updated at Posted at 2014-05-01

ソースコードをコピーすることは可能だが,ネット接続前提のインストール・ツールなどは使えないと仮定して,ソースからのインストール.

$ python
Python 2.7.6 (default, May  1 2014, 11:34:02) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2

のように,pythonのバージョンは 2.7.6.

numpy

まずはnumpyからインストールする.

  • numpy-1.8.1.tar.gz

をダウンロードしてくる.

$ tar xvzf numpy-1.8.1.tar.gz
$ cd numpy-1.8.1/
$ python setup.py build --fcompiler=gnu95
# python setup.py install

Fortranコンパイラとして, gfortran を指定したことになるらしい.
最後のインストールコマンドはsuper-user権限で行った.

$ python
>>> import numpy

とやって,エラーが出なければ問題ない.

Cython

どうもCythonというものが必要なようなので,それをインストールしておく.

  • Cython-0.20.1.zip

をダウンロードしてきて,コピーする.

$ unzip Cython-0.20.1.zip
$ cd Cython-0.20.1/
# python setup.py install

ここでも,最後のコマンドはsuper-user権限で行った.

lapack

lapackも必要みたいだからインストールする.

make.incファイルの中をいくつか編集する.

FORTRAN= gfortran -m64 -fPIC

ここで,-m64は64ビットを,-fPICはshared libraryを作るためには必要らしい.

$ make

最終的に,

# cp liblapack.a libtmglib.a /usr/local/lib/

のように, liblapack.alibtmglib.a を手動コピーでインストール.

scipy

以下のコマンドでインストールする.

# python setup.py install

以下のようにしてエラーが出なければインストールは上手くいったと思ってよい.

>>> import scipy

ImportError: libblas.so: cannot open shared object file: No such file or directory

>>> import scipy.optimize

としたときに上記のようなエラーがでる場合は,ライブラリパス内にlibblas.soが見つからないことが原因と思われるので,

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

のように,LD_LIBRARY_PATHの値にlibblas.soへのパスを追加してやるとよい.

matplotlib

以下のようにしてインストール.

$ tar xvzf matplotlib-1.3.1.tar.gz
$ cd matplotlib-1.3.1/
$ cp ../distribute-0.6.28.tar.gz ./
$ python setup.py build
# python setup.py install

distribute-0.6.28.tar.gz に依存しているようなので,それを matplotlib-1.3.1/ ディレクトリに置いておかなければならない.

他にも,nose, dateutil, pyparsing, six, tornado, backportsなどが依存関係で必要になった.
これらは,依存関係さえ解消されていれば,

# python setup.py install

でインストールできた.

ipython

ipython-1.2.1.tar.gz をダウンロードして解凍および展開して,

# python setup.py install

でOKだった.

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5