LoginSignup
6
6

More than 5 years have passed since last update.

[Cloud102]#1 Pythonを始めよう(第2部 Jupyter Notebook構築 AWS編)

Last updated at Posted at 2016-10-18

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には一切触れず:laughing:、便利な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ダッシュボード > インスタンスから、前回作成しておいたインスタンスを起動
01.png

・起動したら、前回手順でログイン

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 update
$ sudo yum -y upgrade

002.png

003.png

・pipコマンド導入(キャプチャは一部):
$ sudo yum install -y python-pip libpq-dev python-dev
$ sudo pip install -U pip

004.png

・pipコマンドで本体+アルファをインストール(キャプチャは一部):
$ sudo /usr/local/bin/pip install ipython[notebook]
$ sudo /usr/local/bin/pip install numpy pandas matplotlib seaborn scikit-learn

005.png

(3) SG(Security Group)修正

・Jupyterサーバを起動するポート(今回は 8080/tcp)のアクセスを受け付けるようにSGを修正

・VPCダッシュボード > セキュリティグループから、前回作成したSGに 「8080/tcp許可」を追加

・以前作ったSG
010.png

・追加(8000を使っても良いけど)
012.png

・完了
013.png

(4) まずはJupyter Login Passwordなしで起動・アクセス確認

・configファイルテンプレート作成

Amazon Linuxで:
$ jupyter notebook --generate-config

020.png

・configファイルの最後に以下を追加

c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8080

適当なエディタで:
$ vi ~/.jupyter/jupyter_notebook_config.py

021.png

・起動

$ jupyter notebook

022.png

・手元のブラウザでアクセスし動作確認(Login Passwordなし)
023.png

・動作確認できたらJupyterサーバを "Ctrl+C"で停止

(5) Jupyter Login Password設定して起動・アクセス確認

・パスワード作成

$ python -c "import IPython;print(IPython.lib.passwd())"

SS 2016-10-18 10.17.00.JPG

・~/.jupyter/jupyter_notebook_config.pyに表示されたFinger Printを以下のように追加

c.NotebookApp.password = u'表示されたsha1から始まる文字列’

・もう一度起動

$ jupyter notebook

025.png

・手元のブラウザでアクセスし動作確認(Login Passwordあり)
026.png

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()

e49c7a95-cb7f-c120-8a75-57f81125eac8.png

Enjoy! :tada:

6
6
2

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
6
6