45
56

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Cloud9で簡単Jupyter環境構築

Last updated at Posted at 2016-05-14

超簡単設定

超簡単バージョンを作りました。
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に入れます。

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

45
56
0

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
45
56

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?