Python
scikit-learn
cloud9
Jupyter
TensorFlow

Cloud9で簡単Jupyter環境構築

More than 1 year has passed since last update.


超簡単設定

超簡単バージョンを作りました。

https://github.com/y-sama/cloud9

主に、Jupyter, Pandas, Scikit-learn, tensorflowが使えるようにしています。

git clone https://github.com/y-sama/cloud9.git

bash cloud9/init.sh


Introduction

最近某所でオンラインIDE Cloud9にJupyterをのせられるという話を聞きました。

先行記事がありますが、自分用にまとめ直します。

セキュリティ無視の最速設定なら10分弱、色々設定しても30分かからないと思います。

Cloud9で使える無料DISKは2GBですが、1.6GBほど使います。残念ながらディスクスペースを食うのでTensorflowはインストール不可です。

またシングルコアなので本気計算はできませんが、Jupyterに興味があるとか、pandasを試したいとか、scikit-learnのチュートリアルしたいとかなら十分です。


Cloud9のアカウントを作る

メールアドレスだけあればOKです。

https://c9.io/signup

適当に名前とか入れるだけです。

ここまで一分


workspaceを作る

適当なworkspaceを作ります。

一応Private設定、Templateはpythonにしていますが、別になんでもいいです。

仮想マシンが立ち上がるのにちょっとかかります。

ここまで三分


最速設定

workspaceの画面が立ち上がったら、画面の下の方にbashコンソールがあるので下記Scriptをコピペします。

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

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv install anaconda3-4.0.0
pyenv rehash
pyenv global anaconda3-4.0.0

anacondaのダウンロードが入りますが3分くらいで終わります。

ここまで6分


Jupyter起動

jupyter notebook --ip 0.0.0.0 --port 8080 --no-browser

セキュリティ超甘ですがとりあえずならこれで動きます。

https://<workspace>.<username>.c9users.io

からJupyterにアクセスできます。

httpsなのでそこだけ注意。

ここまで7分

最速なら10分かからないで環境が用意できます :laughing:


Anacondaの設定

Anacondaじゃなくてminicondaを入れている場合はこれくらい入れておけば多分OK。

conda install jupyter scikit-learn bokeh seaborn pandas dask networkx numba pep8 pillow scikit-image sqlalchemy sqlite statsmodels sympy xlrd xlsxwriter xlwt

Anaconda周りはこれくらい設定しておけばいいです。

conda update conda #condaのバージョンはよくあがるので、一応チェックしておく

echo 'alias activate="source $PYENV_ROOT/versions/anaconda3-4.0.0/bin/activate"' >> ~/.bashrc
source ~/.bashrc
conda install seaborn # anacondaに入っていないので入れておく


Jupyterの設定

Cloud9はどこからでもアクセスできてしまうので、passwordくらいは設定しておいた方がよいです。

参考


  • コンフィグファイルを作る

  • Jupyterアクセス時のパスワード用のハッシュ文字列を生成する。

mkdir ~/workspace/jupyter

jupyter notebook --generate-config
#>>> Writing default config to: /home/ubuntu/.jupyter/jupyter_notebook_config.py
python -c "from notebook.auth import passwd;print(passwd())"
#>>> Enter password: #Jupyterのアクセス時に使うパスワードを入力する
#>>> Verify password:
#>>> 'sha1:......' #sha以降をコピーしておく


  • jupyter_notebook_config.pyを編集する。

vi ~/.jupyter/jupyter_notebook_config.py


jupyter_notebook_config.pyの編集箇所

変更箇所
初期値
変更後

c.NotebookApp.ip
'localhost'
'*'

c.NotebookApp.notebook_dir
null
'/home/ubuntu/workspace/jupyter'

c.NotebookApp.open_browser
True
False

c.NotebookApp.port
8888
8080

c.NotebookApp.password
null
'sha1:......' #さっきのハッシュ文字列

これもセキュリティ的には甘いので、常にJupyterを立ち上げておきたいのなら、IPアドレスを制限するとかしてください。


startupの設定

~/.ipython/profile_default/startupの中に.pyや.ipyを配置しておくと、Ipythonのkernelスタート時に読み込まれます。

00_start.ipyのようなファイルを置いておけば、Jupyter立ち上げ時にいちいち打ち込まなくていいので楽です。.ipy形式はipythonのマジックコマンドも書けます。


00_start.ipy

import os,sys

import numpy as np
import pandas as pd
import seaborn as sns
%matplotlib inline


extensionのインストール

IPython拡張機能詰め合わせ、プレゼン用の拡張機能RISE、Jupyter内の文書検索jupyter_cmsを入れておきます。

cd ~/

git clone https://github.com/ipython-contrib/IPython-notebook-extensions
cd IPython-notebook-extensions
python setup.py install
cd
../
git clone https://github.com/damianavila/RISE
cd RISE
python setup.py install
pip install jupyter_cms
jupyter cms quick-setup --sys-prefix

IPython-notebook-extensionsのQiita記事

Drag&Dropとか便利です。


起動

jupyter notebook

ファイルをjupyter.shとかで保存して一回Runしておくと、次回以降はlast Run一発で起動できるので楽です。

https://<workspace>.<username>.c9users.ioでJupyterに入れます。

おもちゃとしては最高です。