サイトアイコン てくてくぷれいす

Jupyter Lab入門の入門

こんにちは,しまさん(@shimasan0x00)です.

最近はサーバーにJupyterLabを立ち上げて自分のPCからブラウザでアクセスし,ゴリゴリデータ分析してます.

そんな様子を見て同じ研究室のメンバーからJupyter Labについて聞かれることが多かったので簡単にまとめたいと思います.

サーバー周りの話も軽くしたいと思います.

Jupyter Labとは

JupyterLab computational environment. Contribute to jupyterlab/jupyterlab development by creating an account on GitHub.
jupyterlab/jupyterlab – GitHub

Jupyter LabはJupyter Notebookの後継となるプログラム等をインタラクティブに実行できる環境です.

基本的にはPythonの実行環境なのですが後述するKernelを導入することで様々な言語やフローチャートやネットワーク図を作成するようなノートブックを作成,実行することができます.

ブラウザでアクセスできて,Terminalも使えるしファイルのアップロード/ダウンロードも可能,サーバー内のファイルの編集だってできるんです.

使ってみないという選択肢はないです.

スポンサーリンク

Labのインストール

Anacondaの方は,

conda install -c conda-forge jupyterlab

pipでインストールするかたは,

pip install jupyterlab

でインストールできます.

インストールできたら

jupyter lab

で起動することが可能です!!!

デフォルトの設定であれば

localhost:8888

でブラウザからアクセスすればOKです.

スポンサーリンク

拡張機能をインストールしたい人へ

Jupyter Labはnpmを使用することで拡張機能をインストールすることができます.

つまり,ServerにNode.jsをインストールする必要があります.

自分が所有しているサーバーであれば直にNode.jsをインストールしてもいいのですが研究室など他の人も使用している場合は困ります.

なので私はnvmを使用しています.

nvmはNode.jsのバージョン管理ができるのですがインストールしたユーザに対してのみnode環境を構築するという部分がよかったので採用しました.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
source ~/.bash_profile

でインストール完了です.簡単.

あとは以下のコマンドでNode.jsをインストールします,

# nvm ls-remote // インストールできるバージョン確認
nvm install stable
nvm alias default stable
source ~/.bash_profile

これで準備完了!!!

Jupyter Labをカスタマイズ

テーマ変更

最初起動した場合は真っ白なテーマだと思います.

個人的には眩しく感じてしまうのでDarkテーマに変えてしまいたいと思います.

メニューバー -> Settings -> JupyterLab Theme -> JupyterLab Dark

これもかなりカッコいいのでいいのですが他のダークテーマもないかな…と思っていたら最近見つけました.

The Material Darker theme for JupyterLab. Contribute to oriolmirosa/jupyterlab_materialdarker development by creating an account on GitHub.
oriolmirosa/jupyterlab_materialdarker – GitHub

めちゃくちゃ良いのですがPlotlyやmatplotlibで可視化したら背景の黒で文字が見えなくなって悲しい思いをしました.

インストールするなら以下のコマンドでインストールできます.

jupyter labextension install @oriolmirosa/jupyterlab_materialdarker

matplotlibやPlotly側で文字の色を変えればいける…はず.

エディタ周りを変更

次はエディタの変更です.

行番号表示したりフォントサイズを変更したりして自分の好みに合わせていきます.

メニューバー -> Settings -> Advanced Setting Editor

そうするとSettingsというタブがひらかれると思います.

まずは行番号の表示です.

「Notebooks」を選択して右側のUser Overridesに以下をコピペして保存してください,

{
    "codeCellConfig":{
       "lineNumbers":true
    }
}

そうするとノートブックで行番号が表示されるようになります.

テキストサイズなどは同様に左側にある設定をコピペして,自分好みの値に設定してあげることでカスタマイズできます.

拡張機能

JupyterLabといったらやはり拡張機能はかかせないです.

便利なものが多く,よりLab生活が快適になるでしょう.

先程のテーマの部分で先に紹介してはいるのですが,LabではコマンドによるインストールとLabのGUIからインストールする方法があります.

後者の方法ですがデフォルトではできないので設定していきます.

といっても簡単で先程の場所にあるExtension Managerを開き,

{
    "enabled": true
}

とするだけです.

拡張機能は色々ありますが

・git(Lab上でgitのあれこれができる)
・toc(Markdownが超使いやすくなる)
・variableinspector(変数の中身がわかる)
・statusbar(ステータスバーが表示される)

くらいは入れといて損はないと思います.

以下の拡張機能はお好みで…

・jupyterlab-drawio(drawioがLab上で使える)
・jupyterlab-sql(SQLをGUI上で叩ける)

draw.ioの拡張機能にいたってはJupyterLabってなんだっけってなります(いい意味で).

サーバー周りの話

ではJupyterLabをリモートで使うためにあれこれしたいと思います.

まずは設定を記述するファイルを生成します( notebook_config.py ).

jupyter lab --generate-config

これを行うと.jupyter以下にファイルが生成されます.

次にパスワードの生成を行います.

ipython 

>>> from IPython.lib import passwd
>>> passwd()

実行すると文字列が出力されると思うのでコピーしておいてください.

では先程作成した notebook_config.py に以下を書き込みます.

c = get_config()
c.IPKernelApp.pylab = 'inline'
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.password = 'sha1:XXXXXXXXXXX' #さっきのpasswd
c.NotebookApp.open_browser = False #ブラウザ起動自分でしない
c.NotebookApp.port = 8888 #お好きにどうぞ

あとはjupyter labで起動してあげればOK!!

http:IP/domain名:8888

でLabにアクセスできます.

スポンサーリンク

Kernelを入れる

冒頭でもいいましたがJupyterLabではKernelをインストールすることでPython以外の言語を扱うことができるNotebookができあがります.

Jupyter metapackage for installation, docs and chat – jupyter/jupyter
jupyter/jupyter – GitHub

私は最近だとBashのカーネルやWolframカーネルなんかを入れました.

bashなら以下のコマンドで簡単にインストールできます.

pip install bash_kernel
python -m bash_kernel.install

他にもかなり沢山のカーネルがあるので是非Githubを確認してみてください.

参考

1. 初めに初めまして。kirikeiと申します。NTTCom技術開発部で時系列センサーデータの分析・それに伴う技術開発、特に主にニューラルネットの判断根拠を示す系の研究やってます。今回紹介するのはデータ分析でみんながこぞ…
JupyterLabのすゝめ – Qiita – Qiita
はじめにJupyter notebookの進化形、Jupyter Lab。見た目が綺麗で使いやすいです。今回は2020年10月現在で使用できる便利な拡張機能をご紹介します。(余談:半年ほどこれらの拡張機能を使ってみました…
JupyterLabのおすすめ拡張機能9選 – Qiita – Qiita
Node.js をサーバに導入する際の、個人的な備忘録概要クラウドの仮想サーバ上に Node.js をインストールするバージョンの切り替えや一覧表示とかしたいから nvm を使って入れたいそのため、nvm インストール…
CentOS7 に nvm で Node.js をインストールする – Qiita – Qiita
環境Ubuntu 18.04.1 python 3.6.7、jupyter 4.4.0jupyter notebook 4.4.0jupyter lab 0.35.4※ちょっと古くなってきたから最新環境ではどうなるか…
jupyter labをリモートから使う – Qiita – Qiita
モバイルバージョンを終了