#AGENDA
0.はじめに
1.インストール
2.SG追加と動作確認
3.使い方
#0.はじめに
(1)前置き
・本コンテンツは "[Cloud102]#1 Pythonを始めよう"の第2部 Jupyter Notebook構築AWS編です。
第1部はこちら: http://qiita.com/nagahisa/items/f378ff23d93119cb3c60
・本当はJupyter Notebookはもっと後半で説明するつもりでしたが、GCP研修(CPB100)などで Jupyter Notebookを使うらしいので、思いっきり前倒して説明します。
・ただ、CPB100で扱うようなSparkやTensorFlowには一切触れず、便利なPython勉強環境としてJupyter Notebookが扱えるようになる事を目指します。
(2)元情報
QIITAにUbuntuにJupyter入れるコンテンツがあるので、これをAmazon Linux版に変更して利用します。
Jupyter事始め
http://qiita.com/taka4sato/items/2c3397ff34c440044978
(3)注意事項
- 今回使用するPythonはAmazon Linuxに "python"として導入されている ver.2.7系です。
- Pythonにはver.3系もあり、今後の主力はこちらになります。
- ver.3系では大きな仕様変更が幾つか入っており、ver.2系で開発したコードと互換性が一部ないところがあります。
- 自分のMac・Windowsに環境構築される場合は、Pythonの両方のバージョンを導入して必要に応じて切り替えることをお勧めします( pyenv, virtualenv )。
#1. インストール
##(1)Amazon Linuxインスタンス起動&SSHログイン
・前回(*)の環境準備で作成しておいたAmazon Linuxを起動します。
(*)http://qiita.com/nagahisa/items/c6bd92992eef42dbe53a
・EC2ダッシュボード > インスタンスから、前回作成しておいたインスタンスを起動
・起動したら、前回手順でログイン
Macでのコマンド例:```
$ssh -i ~/.ssh/cloud102.pem ec2-user@52.198.159.203
##(2) Updateと必要なコンポーネントをインストール
Amazon Linux上で以下を実行:
```$ sudo yum update
$ sudo yum -y upgrade
$ sudo yum install -y python-pip libpq-dev python-dev
$ sudo pip install -U pip
$ sudo /usr/local/bin/pip install ipython[notebook]
$ sudo /usr/local/bin/pip install numpy pandas matplotlib seaborn scikit-learn
・まずはUpdate:
$ sudo yum -y upgrade
・pipコマンド導入(キャプチャは一部):
$ sudo pip install -U pip
・pipコマンドで本体+アルファをインストール(キャプチャは一部):
$ sudo /usr/local/bin/pip install numpy pandas matplotlib seaborn scikit-learn
##(3) SG(Security Group)修正
・Jupyterサーバを起動するポート(今回は 8080/tcp)のアクセスを受け付けるようにSGを修正
・VPCダッシュボード > セキュリティグループから、前回作成したSGに 「8080/tcp許可」を追加
##(4) まずはJupyter Login Passwordなしで起動・アクセス確認
・configファイルテンプレート作成
Amazon Linuxで:```
$ jupyter notebook --generate-config
![020.png](http://qiita-image-store.s3.amazonaws.com/0/79389/bfacca0d-f9d2-c0a5-67fd-e9639a1c513d.png)
・configファイルの最後に以下を追加
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8080
適当なエディタで:```
$ vi ~/.jupyter/jupyter_notebook_config.py
・起動
$ jupyter notebook
・手元のブラウザでアクセスし動作確認(Login Passwordなし)
・動作確認できたらJupyterサーバを "Ctrl+C"で停止
##(5) Jupyter Login Password設定して起動・アクセス確認
・パスワード作成
$ python -c "import IPython;print(IPython.lib.passwd())"
・~/.jupyter/jupyter_notebook_config.pyに表示されたFinger Printを以下のように追加
c.NotebookApp.password = u'表示されたsha1から始まる文字列’
・もう一度起動
$ jupyter notebook
・手元のブラウザでアクセスし動作確認(Login Passwordあり)
#3.使い方
(1)Notebook作成
・元情報(*)の後半を参照して Notebook作成。
(*)Jupyter事始め
http://qiita.com/taka4sato/items/2c3397ff34c440044978
(2)せっかくなのでちょっと統計処理に触れる
・以下をNotebookのセルにコピべして実行(Ctrl+Enter)
%mathplotlib inline
import numpy as np
import mathplotlib.pyplot as plt
x = np.random.randint(0,100,10000)
plt.hist(x.bins=20)
plt.plot()
Enjoy!