ただし空気抵抗は無視しないものとする

流体解析の勉強の題材として日頃気になったことをまとめたり確かめたりしていく予定です。OSSしか使わないつもりです。

Jupyter Labの拡張機能(Extension)の導入

はじめに

 Jupyter LabはJupyter notebookの発展系のようなものでありnotebookと同様に数多くの拡張機能があります。 導入の手順と個人的に気に入っているものをいくつか紹介したいと思います。

下準備

Jupyter のアップデート

 まずは手持ちのjupyterをアップデートしましょう。

Upgrading Jupyter Notebookを参考にしながら

Anacondaの場合は

conda update jupyter

pipの場合は

pip install -U jupyter

nodejs

 多くのExtensionはnpmパッケージで作成配布されています。 もしnodejsが入っていない場合はインストールしましょう。

Extensions — JupyterLab 0.35.4 documentation

Anacondaの場合は以下のコマンドでインストールできます。

conda install -c conda-forge nodejs

extensionをJupyter labからインストールできるようにする。

 Settings -> Advanced Setting Editor -> Extension Manager

でExtension Managerを有効にするかどうかを選択できます。

f:id:inabower:20190107092754p:plain

 なおsettingは全てjson形式になっており左画面がデフォルト、右画面はユーザーの設定項目になっており右側が優先されます。

{"enabled": true}

としてCtrl+Sで保存するとExtension Managerが有効になります。

 これにより以下のようにextensionの管理が行えるようになります。

f:id:inabower:20190107093349p:plain

 extensionはこのExtension Managerか端末からインストールしていきます。 ただExtension Managerから導入できないものもたまにあるのでその場合は端末から導入することとなります。

導入済みのextensionの確認

 上記のExtension Managerの他には端末から以下のコマンドを入力しても確認可能です。

jupyter labextension list

extensionの例

@jupyter-widgets/jupyterlab-manager

 notebookのwidgetsをLab上で動作するためのextension。 値などをインタラクティブに変更したり、ボタンなどを設置したりもできます。

github.com

※端末からインストールする場合は

jupyter labextension install @jupyter-widgets/jupyterlab-manager

 ちなみに以下の記事ではParaViewの画像出力と組み合わせてインタラクティブに遊んでみました。

inabower.hateblo.jp

LaTex

 個人的にすごくおすすめです。LaTexのリアルタイム編集が可能になります。

f:id:inabower:20190105202248g:plain

※端末からインストールする場合は

jupyter labextension install @jupyterlab/latex

jupyterlab_code_formatter

 コードをいい感じに綺麗にしてくれます。カッコの中の改行とかを特に気に入っています。

code_formatter

github.com

※端末からインストールする場合は

jupyter labextension install @ryantam626/jupyterlab_code_formatter
pip install jupyterlab_code_formatter
jupyter serverextension enable --py jupyterlab_code_formatter

google drive

 google driveを扱うことができます。 別途GCPから設定が必要で結構大変でした。

github.com

※端末からインストールする場合は

jupyter labextension install @jupyterlab/google-drive

notebookのextension

 jupyter notbookの機能も使用可能です。

例)jupytext

内容を同期した.pyファイルと.mdファイルを自動出力してくれます。相互に変更可能です。

conda install -c conda-forge jupytext
jupyter notebook --generate-config
jupconfig=".jupyter/jupyter_notebook_config.py"
echo 'c.NotebookApp.contents_manager_class = "jupytext.TextFileContentsManager"' >> ${jupconfig}
echo 'c.ContentsManager.default_jupytext_formats = "ipynb,py,md"' >> ${jupconfig}

jupconfigは変わる可能性あり

github.com

最後に

 いいのを見つけたら追記していく予定です。