TSUBAME2.5でPythonの環境構築(matplotlib, Pands)
先日の記事で、TSUBAME環境に(新しめの)Pythonを入れるやり方について書きました。 しかし、このやり方だと本格的なことをやろうとしたときに壊れることがあるようです。まぁしょせん付け焼き刃の対策でしたので。
今回は、根本的に修正して、普通の環境と同じようにpipを使ったインストールなどを使えるようにする方法を書きます。新しいOpenSSLをホームディレクトリにローカルインストールして、それを使って新しいPythonをインストールすればよいです。
以下、OpenSSLをインストールするディレクトリを$HOME/local/openssl
であるとして話を進めます。このディレクトリは他のライブラリ等をインストールしてあるディレクトリとは別にしましょう。具体的には、LD_LIBRARY_PATH
がとおってないディレクトリにします。でないと、ssh
コマンドが読むライブラリがおかしくなってしまいます。
最初に、前回の記事と同様に、プロキシが使える環境であるノードに移動します
$ cd t2a006170 $ export https_proxy=https://proxy.noc.titech.ac.jp:3128 $ export http_proxy=http://proxy.noc.titech.ac.jp:3128
次に、OpenSSLの0.9.8系列の最新リリースをインストールします。githubへのアクセスが許可されているので、ここではgithubからzipをダウンロードします。
# OpenSSLをダウンロード $ wget https://github.com/openssl/openssl/archive/OpenSSL_0_9_8-stable.zip -O OpenSSL_0_9_8-stable.zip $ unzip OpenSSL_0_9_8-stable.zip $ cd openssl-OpenSSL_0_9_8-stable/ $ mkdir -p $HOME/local/openssl $ ./config --prefix=$HOME/local/openssl $ make $ make install
最後に、pyenv
を使ってPythonをインストールします。pyenv
をご存じない人はググってください。
# パッチをダウンロード(wgetだとなぜかコケるので注意) $ curl -O https://gist.githubusercontent.com/keisukefukuda/55104b1250f996d87f6b/raw/9f36f7c8b4ffef96b42bfc892efcd12d5e4c7d62/python-custom-ssl.patch # パッチ中の # +SSL=$(HOME)/local/openssl # となっている行を、それぞれの環境に合わせて書き換える $ vi python-custom-ssl.patch $ pyenv install 2.7.10 -p <python-custom-ssl.patch # インストールされたpipをつかってライブラリをインストール。ここではPandasを導入 $ pyenv global 2.7.10 $ pyenv which python /home/usr1/13D37066/.pyenv/versions/2.7.10/bin/python $ pip install numpy $ pip install matplotlib $ pip install pandas
これで完了です。なお、ここではopensslをstaticライブラリとして作成しています。OpenSSLのconfig時にsharedを指定してしまうと、後の処理がいろいろ面倒になるのでやめた方がよいでしょう。
注釈としては、どうも依然としてpip
でのインストールで依存パッケージの自動インストールに失敗する場合もあるようです。この場合、手動で依存パッケージを入れると解決します。
(予定:scipy, chainer等のパッケージのインストールも、今後書き足していく予定です)