本記事は Julia Advent Calendar 2021 の22日目の記事です.
JuliaMono, とても良いですね. 普段は源ノ角ゴシックCodeを使っていますが, 変数にバーなどのアクセント記号をつけるとフォントの大きさが変になっていたので, それを回避できるのはとてもありがたいです. Advent Calendar の9日目の記事のおかげで知ることができました.
背景
Julia ユーザーの中には Jupyter を使っている方が多いかと思いますが, どのように起動していますでしょうか?
もし, Julia の REPL で
using IJulia
notebook()
としているか, ターミナル等で直接
jupyter notebook
として起動している場合, Jupyter Notebook を利用していることになります.
Jupyter というキーワードで Google 検索すると, 「Jupyter Notebook の使い方」みたいな記事がたくさん出てくるので, そのようにしている方は多いのではないかと思います.
しかし, Project Jupyter のページを見てみると, 最初に書いてあるのは JupyterLab という文字列です. よく読むと,
JupyterLab: A Next-Generation Notebook Interface
と書かれており, そこから下へスクロールすると Jupyter Notebook が現れて,
Jupyter Notebook: The Classic Notebook Interface
と書かれています.
この2つがすべてを物語っていると思います. つまり, Jupyter Notebook は Classic で, JupyterLab が Next-Generation なのです. これはもう, 「Jupyter Notebook ではなく, JupyterLab を使おう」というメッセージなのではないでしょうか.
そういうわけで, 本記事では, JupyterLab をごく簡単に紹介します. より詳しいことは以下の記事が参考になると思います.
JupyterLab でできること
デモサイト (起動までちょっと時間がかかる) にアクセスすると, 以下のような画面が表示されると思います.
左側の Lorenz.ipynb
をクリックすると, この notebbok ファイルが起動されますが, それが同じページ内に別ダブで表示されます.
もし別のファイルを作って起動すれば, さらに別タブで表示されます. Jupyter Notebook の場合, 1つのファイルで1つのページでしたので, 複数のファイルを開く場合は JupyterLabの方が便利であると思います.
また, ダークテーマを簡単に適用することができます. 具体的には, Settings
-> Theme
-> JupyterLab Dark
とクリックしていくだけです.
これによって, 以下のように見た目が変わります.
デフォルトでは JupyterLab Light
と Dark
の2つしか選択肢がありませんが, JupyterLab には extension manager があるため, そこからテーマを追加することができます.
詳しくは以下の記事を参照してください.
その他, フォントの変更 (後述) をはじめとして, 柔軟にカスタマイズすることができます.
つまり, Jupyter Notebook でできることは JupyterLab でもできるし, Jupyter Notebook では簡単にはできないことも色々できる, ということです.
より細かなカスタマイズについては, 前節で引用した記事を参照してください.
インストールと起動方法
Jupyter のインストールの際に pip install jupyter
などとしていたり, Julia の パッケージモードで add IJulia
としていれば, Notebook と一緒に JupyterLab もインストールされているはずなので, 特に行うことはないかと思います,
もし以下の方法で起動できなければ, 公式サイトを参照してください.
JupyterLabを起動するには, ターミナル等で
jupyter lab
または
jupyter-lab
とするか, Julia の REPL で
using IJulia
jupyterlab()
とすることで起動できます.
関数 jupyterlab
には 関数 notebook
と同じように引数を与えることができます. 例えば私は
jupyterlab(dir=pwd(), detached=true)
として起動しています. 詳細は IJulia のドキュメント を参照してください.
フォントの変更
せっかくなので JuliaMono を利用できるようにしましょう. JuliaMono がインストールされている状態で, JupyterLab で Setting
-> Advanced Settings Editor
をクリックする (あるいは, Ctrl
+ ,
を押す) ことで, Advanced Settings Editor が開きます.
開いたタブ内の左側のリストから Notebook
をクリックすると, Notebook に関するデフォルト値が JSON 形式で表示されるので, それを右側の user Preferences
にコピペして編集することで, いろいろとカスタマイズできます.
例えば以下を入力して保存することで, フォントとフォントサイズを変更できます.
{
"codeCellConfig": {
"fontFamily": "JuliaMono Regular",
"fontSize": 16
}
}
実際, これにより, 先ほど開いた Lorenz.ipynb
は以下のように表示されます (例えば 0
の形が変わっています).
Interact.jl を使うときにちょっと困ることがある
Interact.jl とは, スライダーやボタンなどを表示させて, インタラクティブに可視化する機能を提供するパッケージです.
詳しくは以下の記事が参考になります.
基本的に便利なパッケージですが, JupyterLab をダークテーマにしている場合, 以下のようにスライダーの文字が見えなくなります.
上の画像にはただスライダーがあるだけに見えますが, 実は左右にテキストがあります. テキスト選択してみると以下のようになります.
これをカスタマイズする方法があれば, 教えて下さい.
また, 自分の環境に問題があるのかもしれませんが, 一度ページをリロードしないとスライダーが正しく動作しません. 謎です...
終わりに
JupyterLab をカスタマイズして快適な Julia ライフを過ごしましょう.