チュートリアル

ZynqberryでJupyter notebookを動かそう!

このチュートリアルでは、Zynqberryオリジナルスタータキットをご購入のお客様向けに、ZynqberryでJupyter notebookを動作させるための方法を紹介します。

Jupyterを使うと、WebブラウザでZynqberryにアクセスして、任意のPythonのコードを実行したりグラフや絵を描かせてその結果をWebブラウザ上で見ることができます。

PythonがWeb上で動くZYNQ搭載のRasPi互換機」となります。

 

ダウンロード

まず、Zynqberry用 Ubuntu 14.04 with Jupyter & SDSoCをダウンロードします。

Zynqberryオリジナルスタータキットのライセンスが必要です。

 

上のアーカイブファイルを解凍しWin32Disk Imagerツールを用いてimgファイルをSDカードに書き込みます。
この作業によりSDカードは消去されるのでご注意ください。

 

Python環境の切り替え

Ubuntu 14.04はデフォルトでPython 2.7.6が動作していますが、このバージョンは古く、いろいろな問題を引き起こします。しかしながら、システム全体の整合性のためPythonのバージョンを勝手に上げるわけにはいきません。

そこで、ローカルなPython 3.5.1上でJupyterが動作するようにインストールされています。

まず、コンソールで

# python -V

と入力してみてください。 Python 2.7.6と表示されるはずです。

そうしたら、以下のようにコマンドを与えます。

(1行ずつ与えるか、/etc/rc.localなどの起動スクリプトに書いてください)

# export PYENV_ROOT=$HOME/.pyenv
# export PATH=$PYENV_ROOT/bin:$PATH
# eval "$(pyenv init -)"
# pyenv global 3.5.1
# python -V

 Python 3.5.1 と表示されれば成功です。Python 3.5.1に切り替わっています。

なお、pyenvというツールを使って環境を切り替えています。pyenvは/root/.pyenv/に構築されています。

 

Jupyterの起動

ルートでログインし、以下のコマンドを入力するとJupyter notebookが起動します。

 

# jupyter notebook --allow-root &

 

 

ブラウザでhttp://zynqberry:8080/にアクセスすると、Jupyter notebookにアクセスできます。

 

numpy pandas matplotlib seaborn scikit-learn plotlyがインストールされているので、綺麗なグラフなども描けます。

 

 

Jupyterのコンソールも使用できますが、何でもできてしますので、セキュリティホールになります。

十分にお気をつけください。

 

アクセス制限をかける

デフォルトのままではセキュリティが甘いので、パスワードを設定します。

まず、コンソールで

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

と打ち、その後、パスワードを入力します。

root@zynqberry:~# python -c "import IPython;print(IPython.lib.passwd())"
Enter password: hogehoge
Verify password: hogehoge
sha1:47a1eba72ea8:4d1d05370e67e056d6d964ad32cffafd67cfe902

このsha1:47a1eba72ea8:4d1d05370e67e056d6d964ad32cffafd67cfe902がハッシュされたパスワードです。

/root/.jupyter/jupyter_notebook_config.py を編集し、先頭にある

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

の最後の行を

c.NotebookApp.password = u'sha1:47a1eba72ea8:4d1d05370e67e056d6d964ad32cffafd67cfe902'

で置き換えます。

これで再びjupyter notebookを起動すればパスワードによるアクセス制限がかかるようになります。