オモンパカリスト

深層学習、計算論的神経科学に興味あります

AWS EC2内でpython環境セットアップからJupyter(ipython notebook)まで覚書

(2016/05/24)追記:依存モジュールにsqlite-develが必要

概要

AWS EC2インスタンスAmazon Linux AMIのOS環境で
pythonの環境構築をする。
また、ブラウザから開くJupyter(ipython notebook)の設定も行う。

Machine Learning, Deep Learningをやるために環境を作りたかったから。
CentOSもにたようなもんだと思う。

pyenvって?

pythonのバージョン管理
Rubyでいうrbenvみたいなもの
githubソースコードをクローンしてPATHを通して使います

virtualenvって?

pythonの実行環境を提供・管理

ここが参考になる http://blog1.erp2py.com/2011/07/virtualenv.htmlblog1.erp2py.com

pyenv, virtualenv

まず、依存モジュール達はちゃっちゃとyumからインストール

$ yum install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel

pyenv

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv

パスを通す

$ vi ~/.bash_profile
# 以下を追加
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
fi

$ source ~/.bash_profile

pythonをインストール

$ pyenv install 2.7.11
$ pyenv versions
$ pyenv global 2.7.11
$ python -V
$ git clone https://github.com/yyuu/pyenv-pip-rehash.git ~/.pyenv/plugins/pyenv-pip-rehash
$ git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

参考にしました kazsoga.com

virtualenvの使い方

インストール

$ sudo yum install -y python27-virtualenv

現在のディレクトリにmy_envという名前の環境をつくる

$ virtualenv -p ~/.pyenv/versions/2.7.11/bin/python2.7 my_env

my_envに入る

$ . myenv/bin/activate

こうするとプロンプト名に(myenv)がつく

my_envから出る

(myenv) $ deactivate

これでインストールしまくっても他の環境には影響ありません。

(myenv) $ pip install ipython
(myenv) $ deactivate
$ ipython # できない

Jupyter(ipython notebook)を立ち上げる

設定ファイルを生成するコマンドがあります

(myenv) $ jupyter notebook --generate-config

一番下に追記

(myenv) $ vi ~/.jupyter/jupyter_notebook_config.py
# 以下を追記
c.NotebookApp.ip ='*'
c.NotebookApp.port = 8888

AWSのセキュリティグループのほうもポート8888のアクセスを許可させる
http://[EC2インスタンスのIP]:8888/
でアクセス