Jupyter LabおよびExtensionの紹介
Jupyter LabおよびExtensionの紹介¶
この記事はPyData Osaka Meetup #12の発表のために執筆しました。 ※2020/2/16 スライドへのリンクを追加
In [1]:
from IPython.display import IFrame
IFrame("https://www.hiromasa.info/slide/17.slides.html", "100%", "450px")
Out[1]:
自己紹介¶
- 大橋(@wrist)
- PyData Osakaオーガナイザーの一味
- メーカー勤務(音響信号処理屋)
- 近況: バタフライキーボードのbが壊れた
本日の実行環境¶
- Docker上で動作
docker pull wrist/jupyterlab-custom:latest
本日の内容¶
- Jupyter Labの簡単な歴史
- Jupyter Lab単体機能の紹介
- Extensionの紹介
Jupyter Labの簡単な歴史¶
- 2016/1/5 first commit
- 2018/2 JupyterLab is Ready for Usersのブログ記事
- 2019/6/28 version 1.0
- 2019/8/28 version 1.1
- 2019/10/29 version 1.2
Jupyter lab単体機能の紹介¶
個人的にJupyter Notebookに求めるもの¶
- markdown/ipynbでのブログ執筆
- ipynbのスライドへの変換
- vimキーバインド
キーバインドの設定¶
- デフォルトで用意
Settings -> Text Editor Key Map
-
Sublime Text
,vim
,emacs
vimキーバインド¶
- markdown編集などのみに適用
- cell編集でvimキーバインドが使いたい場合はExtensionが必要
- chrome/safariで使うのが無難?
- firefoxだとescが効かない
ショートカット¶
- ipynbではjupyter notebookのショートカットがそのまま使える
- 移動 j,k
- 選択 J,K
- 挿入 a,b
- コピペ c,x,v
- セルタイプ変更 m, y
- ドキュメント表示
shift+tab
In [1]:
# sumにカーソルをあてて`shift+tab`
y = sum([1, 2, 3])
y
Out[1]:
In [2]:
import scipy as sp
import scipy.signal as sg
labの機能のショートカット(一部)¶
- コマンドパレット
shift+command+c
- タブの移動
shift+ctrl+]
- サイドバーの開閉
command+B
slide type変更のショートカットがないのが辛い
Drag&Dropによるセル編集¶
- ipynb間でも可能
画像のペーストによる挿入¶
- セルにはクリップボード上の画像を
command+v
で挿入可能 -
win+shift+s
やshift+ctrl+command+4
で選択してキャプチャした矩形画像を挿入
プレビュー関連¶
- デフォルトで様々なファイルのプレビューが可能
- markdown, 画像, csv, JSON, HTML, LaTeX, PDF, Vega/Vega-lite, Virtual DOM
-
https://jupyterlab.readthedocs.io/en/stable/user/file_formats.html
- 動画で説明有
Markdownのプレビュー¶
- markdownファイルを右クリック
-
Show Markdown Preview
を選択
-
リッチな補完¶
- 補完が見やすい
ipynbのSlideへの変換¶
- 各セルに
サイドバー -> スパナアイコン -> Slide Type
を設定 -
File -> Export Notebook As... -> Reveal.js
でスライド生成 - RISEはまだ使えない模様
- リアルタイム修正ができない
ipynbへのメタデータの付与¶
-
スパナアイコン -> Advanced Tools -> Notebook Metadata
で付与可能
Extensionの紹介¶
Extensionの種類¶
- lab extension
- フロントエンド側で動作するExtension
jupyter labextension install ...
- server extension
- サーバー側で動作するExtension
pip install jupyterlab_git
jupyter serverextension enable --py jupyterlab_git
Extension情報¶
- githubで
awesome
jupyter
などを調べる - おすすめ(スクリーンキャスト付)
- その他
Extension Manger¶
- GUIでインストールが可能
- コマンドパレットから
Enable Extension Manager
を実行 - サイドバーからExtensionのインストールが可能に
@jupyter/toc
¶
- 目次をサイドバーに表示可能
- アウトラインが分かりやすくなる
@jupyter/git
¶
- サイドバーからgit操作が可能
-
nbdime
による差分表示
サイドバー¶
- GUI操作でgit関連操作が可能
差分表示¶
- 一番右の2つのアイコン
- チェックポイントからの差分
- HEADからの差分
インストール方法¶
https://github.com/jupyterlab/jupyterlab-git
pip install jupyterlab_git
jupyter serverextension enable --py jupyterlab_git
jupyter labextension install @jupyterlab/git
jupyter lab build
jupyterlab-vim
¶
- cellの中でもvimキーバインドが使える
- 割と使い勝手が変わるので好みによる
- セルからの脱出
shift+ctrl+esc
- セルの確定
-
ctrl+enter
(エクステンションに関係なく使用可能)
-
コロンをセルの中で押した場合の様子¶
@lckr/jupyterlab_variableinspector
¶
- 変数の一覧表示を実現
- numpyなどにも対応
- matrix表示可能
-
_
に辞書を格納してるっぽい- 直前の出力が参照できなくなる
インストール方法¶
https://github.com/lckr/jupyterlab-variableInspector
jupyter labextension install @lckr/jupyterlab_variableinspector
In [6]:
1+1
Out[6]:
In [7]:
_
Out[7]:
使用方法¶
- 右クリックメニュー
-
Open Variable Inspector
を選択
-
In [5]:
import numpy as np
x = 1
a = np.random.randn(10, 20)
変数一覧表示¶
ndarrayのmatrix表示¶
@ryantam626/jupyterlab_code_formatter
¶
- 各種コード整形ライブラリをセルに適用
- コマンドパレットやipynb上部アイコンから使用
コマンドパレットから使用¶
アイコンから使用¶
- 右から3番目のアイコン
インストール方法¶
https://github.com/ryantam626/jupyterlab_code_formatter
jupyter labextension install @lckr/jupyterlab_variableinspector
環境構築用のDockerfileの例¶
FROM jupyter/scipy-notebook
MAINTAINER Hiromasa OHASHI <stoicheia1986@gmail.com>
RUN pip install jupyterlab_git jupyterlab_code_formatter autopep8 black
RUN jupyter serverextension enable --py jupyterlab_git
RUN jupyter serverextension enable --py jupyterlab_code_formatter
RUN jupyter labextension install \
@jupyterlab/toc @jupyterlab/git \
@lckr/jupyterlab_variableinspector \
@ryantam626/jupyterlab_code_formatter
RUN jupyter lab build
まとめ¶
- Jupyter Labの基本的な機能とExtensionを紹介
- 他にも色々便利な機能などあると思いますのでご意見ください
Comments
Comments powered by Disqus