はじめに
こんにちは、こうへいです。
最近は、普段使いの計算環境はJupyterLabにしています。
pythonを使ってちょこちょこ計算をするのに ものすごく便利に使えていて、OSを選ぶ必要がなくて超いけています。 Dropboxのようなローカルと同期してくれる,クラウドストレージ サービスと合わせて使うと、いつでもどこでも計算やプログラムが できる環境が手に入ります。
と言う事で今回はJupyterLab環境の整え方について、自分の備忘録 として書いています。
Python環境を整える
JupyterLabを使うためにはPythonが入っていないとだめですが、Pythonの環境構築については、 最近やっと自分なりの流儀が確立されつつあります。 今回は簡単に説明して、 後日改めて、備忘録記事を書きたいと思っています。
自分的にはWindowsではAnaconda、LinuxとMacではpyenv+venvで環境を整えています。
www.anaconda.com Windowsにpyenvがあれば良いのですが、まだ完全版がないのでAnacondaを使用しています。 Anacondaは科学計算に欲しくなるモジュールが予めインストールされていて お手軽です。
自分の環境は自分で整えたい人は、pyenvを使うと、任意のバージョンのPythonをインストール できて、なおかついつでも切り替えられます。
さらにvenvを使うと、仮想環境が作れるので、やりたい放題です。
venvについてはPython純正の仮想環境管理ツールというところがお気に入りポイントです。
Windows
Anacondaのページからダウンロードしてインストールしてください。難しいことは無いと思います。
Mac
xcodeとHomebrewはあらかじめインストールしておいてください。 これらのインストールの方が時間がかかるかもしれません。
pyenvをインストール
pyenvをインストールします。pyenvを使うと任意のバージョンのpythonを競合させることなく複数インストールできます。必要があればすぐにシステムデフォルトのバージョンに切り替えが可能です。
brew install pyenv
インストールできたら
pyenv install --list
でインストールできるバージョンがリストアップされます。
その中から好きなバージョンを選び次のようにしてインストールします。
pyenv install 3.7.4
使用するpythonを切り替えるには
pyenv global 3.7.4
venvで仮想環境を作る
venvはpythonの仮想環境を構築するツールです。 python3.3以上で標準で使えます。本記事では3.3以上を使用することを前提にします。
新しい仮想環境の作成は
python -m venv 新しい仮想環境の名称
仮想環境にを有効にするには 新しい仮想環境のディレクトリがあるディレクトリまで移動して
source 新しい仮想環境の名称/bin/activate
Ubuntu 20.04
バージョンはこれより少し古くても大丈夫です。(16.04ぐらいならいけると思います。) Macと同じ部分もありますので以下は重複する部分もあります。
pyenvをインストール
pyenvをインストールします。pyenvを使うと任意のバージョンのpythonを競合させることなく複数インストールできます。必要があればすぐにシステムデフォルトのバージョンに切り替えが可能です。 こちらは@neruoneru様のページを参考にさせて頂きました。
最新版に更新されるようにする
sudo apt update sudo apt upgrade
依存関係を解決するために各種ライブラリをインストールする。必要ない場合もある。
sudo apt install -y build-essential sudo apt install -y libffi-dev sudo apt install -y libssl-dev sudo apt install -y zlib1g-dev sudo apt install -y liblzma-dev sudo apt install -y libbz2-dev libreadline-dev libsqlite3-dev
Gitをインストール。これも既に入っているかもしれません。
sudo apt install -y git
最後にpyenvのインストール
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
shellの初期化スクリプトの以下を追加
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)"
一応再起動。
インストールできたら
pyenv install --list
でインストールできるバージョンがリストアップされます。
その中から好きなバージョンを選び次のようにしてインストールします。
pyenv install 3.7.4
使用するpythonを切り替えるには
pyenv global 3.7.4
venvで仮想環境を作る
venvはpythonの仮想環境を構築するツールです。 python3.3以上で標準で使えます。本記事では3.3以上を使用することを前提にします。
新しい仮想環境の作成は
python -m venv 新しい仮想環境の名称
仮想環境にを有効にするには 新しい仮想環境のディレクトリがあるディレクトリまで移動して
source 新しい仮想環境の名称/bin/activate
JupyterLabのインストール
まずは本体
Anaconda環境なら
conda install -c conda-forge jupyterlab
念のため、古いnotebookも使えるようにします。
conda install -c conda-forge notebook
pyenv+venv環境なら
普段はpipでモジュールのインストールをしている場合は
pip install jupyterlab pip install notebook pip install widgetsnbextension
tqdm
時間がかかる反復計算は本当に計算が進んでいるのかが気になりますので プログレスバーを出してくれる便利なモジュールにtqdmがあります。 jupter labで使うにはちょっとした手間がいります。
まずはtqdmをインストール
Anaconda環境なら
conda install -c conda-forge tqdm
pyenv+venv環境なら
pip install tqdm
以上だとJupyterLabではエラーになり以下をします。
すべて受け売りですが
jupyter nbextension enable --py --sys-prefix widgetsnbextension jupyter labextension install ipyvolume jupyter labextension install @jupyter-widgets/jupyterlab-manager@1.0
最後のコマンドはjupyter labのバージョンによって違ってくるそうで こちらのサイトを確認ください。
以上は以下の、いわし様の記事の転載になります。
使い方
from tqdm.notebook import tqdm_notebook as tqdm y=0 for i in tqdm(range(1000000)): y=y+i print(y)
JupyterLabでmatplotlibをインタラクティブに使う
jupter notebookではmatplotlibを使って、グラフの拡大縮小などが インタラクティブにできました。JupyterLabでは同じ方法では できなくなりましたので対処についてです。
インストール
手抜きですが、以下の参照ページに沿って やってみてください。(時間ができたら転載予定)
使い方
%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が無いと怒られます。 そちらのインストール方法については以下を参考にしてみてください。
Macなら
brew install node
ubuntuならaptコマンドで入れられます。
sudo apt install nodejs sudo apt install npm
いろんなOSで色々やってたらいつの間にか上手くいっていた系なので 誤りがあるかもしれません。自己責任でお願いいたします。
おわりに
普段、Windows10とMacとUbuntuを行ったり来たりしてますが JupyterLabさえ入れておけば、すべてのOSで同じことができます。
しかし、インストールの手間は、いつも先達のブログを検索し 見ながらやるので、ついにまとめてしまいました。
これで、サーバ環境を構築すれば、ipad等でも計算ができるので 目指したいのですが手が回らず残念です。
誰かご指南いただけないでしょうか?!