AWS cloud9でEC2上にcondaでPython(jupyter notebook)環境構築(2019年9月版)

はじめに

chromebookなどでpythonを利用するには、AWS cloud9やgoogle colaboratoryを利用する必要がある。colaboratoryはすぐにjupyter notebookが使える模様だが、AWSの場合はそう簡単にはいかない。
ここでは、awsのcloud9でEC2上にjupyter notebookを構築する手順について解説する。

AWSアカウントの作成、環境作成

AWSアカウントを作成する。

AWS マネジメントコンソールからcloud9を選択する。

Create environmentを選択し、name(環境の名前)を記入でNext step.

Create a new instance for environment (EC2), t2.micro (1 GiB RAM + 1 vCPU), Amazon Linux
Cost-saving setting を30 minを選択して、Next step.

Reviewが表示されるのでそのままCreate environmentして、しばらくまつとこのような画面が出てくる。

bash – のところがTerminalなのでここに色々と書いていく。

Miniconda3のダウンロード、インストール

Miniconda3のダウンロード

とTerminalに記述する。ミニコンダがダウンロードされる。

実行権限の変更

とTerminalに記述する。すべてのユーザーに実行権限を付与する。

インストール

とTerminalに記述するとミニコンダがインストールされる。

Welcome to Miniconda3 4.7.10
 In order to continue the installation process, please review the license
 agreement.
 Please, press ENTER to continue

と表示されるのでEnterを押して進めると、Lisence関係の文が表示されるので、さらにEnterをおして進めていく。すると、

Do you accept the license terms? [yes|no]

と聞かれるのでyesとすることで以下のように保存する場所を聞かれる。

Miniconda3 will now be installed into this location:
 /home/ec2-user/miniconda3
 Press ENTER to confirm the location
 Press CTRL-C to abort the installation
 Or specify a different location below 
 [/home/ec2-user/miniconda3] >>> 

これでいいので、Enterを押す。

installation finished.
 Do you wish the installer to initialize Miniconda3
 by running conda init? [yes|no]
 [no] >>> 

と表示されるのでyesとする。

で再起動。condaが使えるようになる。

ライブラリのインストール

自分の入れたいのものを入れる。

jupyter notebookでは、tornadoというライブラリに起因するエラーがあるのでtornadoをダウングレードすることでエラーを解消する。

エラーの詳細は下記サイトが詳しい。

Jupyter notebookで遊んでいたら「Connecting kernel」のままkernelが起動しなかったので解決方法をメモ - Qiita
※2019/09/28現在、pipenv環境内の下記バージョンで発生せず。たぶんjupyterを最新版にすればOK。 jupyter --ver…

pythonの選択

Terminalでpythonと入力すると以下のように表示され、defaultのpythonが実行されていることがわかる。

Python 3.6.8 (default, Aug  2 2019, 17:42:44) 
 [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
 Type "help", "copyright", "credits" or "license" for more information.

これをMinicondaのPythonにしたいため、

のようにして、bashrcを編集する。実行するとファイルの中身が表示されるので、iで追記モードにし、

#User specific aliases and functions
 alias python=python36

の部分のaliasの先頭に#をつけ、無効にする。escキーで追記モードから抜け、:wqで保存して終了する。

で再起動し、再びpythonとTerminalで入力すると、

のように表示されるようになる。Anaconda(Miniconda)のpythonとすることができた。

jupyter notebookの設定

configファイルの作成

パスワードの設定

パスワードを2回入力すると

と表示されるのでコピーして控えておく。

configファイルの修正

iで追記モードにして、

を貼り付ける。escで追記モードから抜けて、:wqで保存して閉じて再起動する。

セキュリティの変更

AWSマネジメントコンソールから、コンピューティングのEC2を選択。

左サイドバーのネットワーク&セキュリティから、セキュリティグループを選択。

cloud9で作成した環境のセキュリティグループを選択し、インバウンド、編集を選択。

ルールの追加で、ポート範囲8888とし、ソースを任意の場所として、保存。

jupyter notebookの起動

jupyter notebookと入力し、

となれば良い。
notebookにアクセスするには、AWSマネジメントコンソールから、コンピューティングのEC2を選択。左サイドバーのインスランスから、インスタンスを選択。cloud9で作成した環境のIPv4 パブリック IPをコピーし、別タブでコピーしたIP:8888にアクセスする。パスワードを入力することでnotebookを表示することができる。

参考

Jupyter notebookで遊んでいたら「Connecting kernel」のままkernelが起動しなかったので解決方法をメモ - Qiita
※2019/09/28現在、pipenv環境内の下記バージョンで発生せず。たぶんjupyterを最新版にすればOK。 jupyter --ver…
404 Not Found - Qiita - Qiita
Cloud9で簡単Jupyter環境構築 - Qiita
超簡単設定超簡単バージョンを作りました。主に、Jupyter, Pandas, Scikit-learn, tensorflow…
GitHub - tatwan/c9-conda: How to Install Python packages on Cloud 9 (NumPy, Pandas)
How to Install Python packages on Cloud 9 (NumPy, Pandas) - tatwan/c9-conda
viコマンド(vimコマンド)リファレンス - Qiita
起動基本 vi ファイル名1 ファイル名2 … ファイル名n ...複数ファイル起動 view ファイル名 ..…
Pythonでディープラーニングしてみる(AWS Cloud9/Keras) | Tech-Joho.info
KerasとCloud9 この記事では、Cloud9で作ったEC2環境に上にKerasをインストールしてディープラーニングを試してみます。 Windowsを使っている等、自分のPCにいろいろインストールしたくない人はこの方法がおすすめです。...

コメント