理系的な戯れ

理工学系とくにロボットやドローンに関する計算・プログラミング等の話題を扱って、そのようなことに興味がある人たちのお役に立てればと思っております。

Jupyter labのインストール

f:id:kouhei_ito:20200510180740p:plain

はじめに

こんにちは、こうへいです。

最近は、普段使いの計算環境はJupyter labにしています。

pythonを使ってちょこちょこ計算をするのに ものすごく便利に使えていて、OSを選ぶ必要がなくて超いけています。 Dropboxのようなローカルと同期してくれる,クラウドストレージ サービスと合わせて使うと、いつでもどこでも計算やプログラムが できる環境が手に入ります。

と言う事で今回はJupyter lab環境の整え方について、自分の備忘録 として書いています。

jupyter.org

Python環境を整える

Jupyter labを使うためにはPythonが入っていないとだめですが、Pythonの環境構築については、最近やっと自分なりの流儀が確立されつつあるので 後日改めて、備忘録記事を書きたいと思っています。

今回は参考だけにします。

自分的にはWindowsではAnaconda、LinuxとMacではpyenv+venvで環境を整えています。

www.anaconda.com Windowsにpyenvがあれば良いのですが、まだ完全版がないのでAnacondaを使用しています。 Anacondaは科学計算に欲しくなるモジュールが予めインストールされていて お手軽です。

自分の環境は自分で整えたい人は、pyenvを使うと、任意のバージョンのPythonをインストール できて、なおかついつでも切り替えられます。

さらにvenvを使うと、仮想環境が作れるので、やりたい放題です。

venvについてはPython純正の仮想環境管理ツールというところがお気に入りポイントです。

github.com

qiita.com

docs.python.org

Jupyter labのインストール

まずは本体

Anaconda環境なら
conda install -c conda-forge jupyterlab

念のため、古いnotebookも使えるようにします。

conda install -c conda-forge notebook
pyenv+venv環境なら

普段はpipでモジュールのインストールをしている場合は

pip install jupyterlab
pip install notebook

tqdm

時間がかかる反復計算は本当に計算が進んでいるのかが気になりますので プログレスバーを出してくれる便利なモジュールにtqdmがあります。 jupter labで使うにはちょっとした手間がいります。

まずはtqdmをインストール

Anaconda環境なら
conda install -c conda-forge tqdm
pyenv+venv環境なら
pip install tqdm

以上だとjupyter labではエラーになり以下をします。

すべて受け売りですが

jupyter nbextension enable --py --sys-prefix widgetsnbextension
jupyter labextension install ipyvolume
jupyter labextension install @jupyter-widgets/jupyterlab-manager@1.0

最後のコマンドはjupyter labのバージョンによって違ってくるそうで こちらのサイトを確認ください。

以上は以下の、いわし様の記事の転載になります。

qiita.com

使い方
from tqdm.notebook import tqdm_notebook as tqdm

y=0
for i in tqdm(range(1000000)):
    y=y+i

print(y)

jupyter labでmatplotlibをインタラクティブに使う

jupter notebookではmatplotlibを使って、グラフの拡大縮小などが インタラクティブにできました。jupyter labでは同じ方法では できなくなりましたので対処についてです。

インストール

手抜きですが、以下の参照ページに沿って やってみてください。(時間ができたら転載予定)

github.com

 使い方
%matplotlib widget
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0.0, 2*np.pi, 100)
y=np.sin(x)

plt.plot(x, y)
plt.show()

node.jsとnpmについて補足

おそらくインストールの途中でnode.jsとnpmが無いと怒られます。 そちらのインストール方法については以下を参考にしてみてください。

nodejs.org

Macなら

brew install node

ubuntuならaptコマンドで入れられます。

sudo apt install nodejs
sudo apt install npm

いろんなOSで色々やってたらいつの間にか上手くいっていた系なので 誤りがあるかもしれません。自己責任でお願いいたします。

おわりに

普段、Windows10とMacとUbuntuを行ったり来たりしてますが Jupyter labさえ入れておけば、すべてのOSで同じことができます。

しかし、インストールの手間は、いつも先達のブログを検索し 見ながらやるので、ついにまとめてしまいました。

これで、サーバ環境を構築すれば、ipad等でも計算ができるので 目指したいのですが手が回らず残念です。

誰かご指南いただけないでしょうか?!