JupyterLabをインストールするには

Project Jupyter
The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dash...

JupyterLabは、ブラウザでプログラミング操作をしながら、コマンド履歴や実行結果、メモなどをmarkdown風ノートに記録するツールです。

bash kernelやssh kernelを追加インストール使うことで、bashやsshの操作履歴や実行結果を記録として残すことができます。ターミナルからコピペする必要がありません。

何を言っているのかわからないよ?

スクショを見れば一目瞭然よ

インストール

Mac OS X 10.15.4
Ubuntu 18.04

jupyterlabをpip でインストールします。

$ pip install jupyterlab
$ jupyter --version jupyter core : 4.6.3 jupyter-notebook : 6.0.3 qtconsole : not installed ipython : 7.14.0 ipykernel : 5.2.1 jupyter client : 6.1.3 jupyter lab : 2.1.2 nbconvert : 5.6.1 ipywidgets : not installed nbformat : 5.0.6 traitlets : 4.3.3 $ jupyter lab --version 2.1.2 $ jupyter kernelspec list Available kernels: python3 /Users/aoki.makoto/.pyenv/versions/3.8.2/lib/python3.8/site-packages/ipykernel/resources

使い方

起動と終了

ターミナルを開いて、作業したいディレクトリへcdします。ホームディレクトリのままでもかまいません。jupyter labを起動します。

jupyter labを終了するまで、このターミナルを使えません。最後に「&」をつけて起動してもいいのですが、他の作業をしているときに、jupyterのログが表示されてしまいます。

jupyter lab専用のターミナルと割り切って、他のターミナル作業が必要なときは、新しくターミナルを開いて作業してください。

$ jupyter lab [I 10:06:07.197 LabApp] JupyterLab extension loaded from /Users/aoki.makoto/.pyenv/versions/3.8.2/lib/python3.8/site-packages/jupyterlab [I 10:06:07.198 LabApp] JupyterLab application directory is /Users/aoki.makoto/.pyenv/versions/3.8.2/share/jupyter/lab [I 10:06:07.200 LabApp] Serving notebooks from local directory: /Users/aoki.makoto [I 10:06:07.201 LabApp] The Jupyter Notebook is running at: [I 10:06:07.201 LabApp] http://localhost:8888/?token=b9fd0a535c3477b65e312d1e48e4f8567036fe10cf463b5c [I 10:06:07.201 LabApp] or http://127.0.0.1:8888/?token=b9fd0a535c3477b65e312d1e48e4f8567036fe10cf463b5c [I 10:06:07.201 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 10:06:07.209 LabApp] To access the notebook, open this file in a browser: file:///Users/aoki.makoto/Library/Jupyter/runtime/nbserver-75725-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=b9fd0a535c3477b65e312d1e48e4f8567036fe10cf463b5c or http://127.0.0.1:8888/?token=b9fd0a535c3477b65e312d1e48e4f8567036fe10cf463b5c [I 10:06:10.383 LabApp] Build is up to date

自動でWebブラウザがlocalhost:8888を開き、Jupyter Labの画面が表示されます。このLauncherタブは、Fileメニュー>New Launcherでも表示できます。

左ペインのhello.pyは、あらかじめ touch hello.py しておいたファイルです。この左ペインは、起動ディレクトリのファイル一覧です。

NotebookのPython3をクリックします。「pwd」と入力します。「▶」ボタンをクリックして実行してください。

新しいセルに「touch hello.txt」と入力します。「▶」ボタンをクリックして実行してください。bashではないので、エラーになってしまいました。

jupyter labを起動したターミナルを表示します。Ctrl + Cを押して、「y」を押して、終了します。

Shutdown this notebook server (y/[n])? y [C 09:57:06.300 LabApp] Shutdown confirmed [I 09:57:06.301 LabApp] Shutting down 0 kernels

bash kernelのインストール

jupyter/jupyter
Jupyter metapackage for installation, docs and chat - jupyter/jupyter

Jupyter Labのインストール直後は、Python kernelだけですが、各種プログラミング言語のkernelが用意されています。ここでは、bash kernel を使ってみます。

takluyver/bash_kernel
A bash kernel for IPython. Contribute to takluyver/bash_kernel development by creating an account on GitHub.

bash kernelをインストールします。

$ pip install bash_kernel $ python -m bash_kernel.install Installing IPython kernel spec $ jupyter kernelspec list Available kernels: python3 /Users/aoki.makoto/.pyenv/versions/3.8.2/lib/python3.8/site-packages/ipykernel/resources bash /Users/aoki.makoto/Library/Jupyter/kernels/bash

Fileメニュー>New launcherを表示すると、NotebookにBashが増えています!

NotebookのBashをクリックします。「echo "hoge" >hoge.txt」と入力して、「▶」ボタンをクリック。新しいセルに「cat hoge.txt」と入力して、「▶」ボタンをクリック。hoge.txtの内容を表示できました。

ssh接続できるでしょうか?新しいセルに「ssh taro@myhost.local」と入力して、「▶」ボタンをクリック。反応がありません。「■」ボタンをクリックすると、戻ってきました。password入力待ちで停止していたようです。

sshpassを使って、ssh接続してみました。新しいセルに「sshpass -P"ssh_password" ssh taro@myhost.local」と入力して、「▶」ボタンをクリック。ログイン後のメッセージが表示されましたが、そこで停止。なおMac OS Xのhomebrewにはsshpassはありませんでした。

ssh kernelのインストール

残念ながら、パスワード認証のSSH接続はできません。

パスフレーズ無しの公開鍵認証のSSH接続ができます。が、筆者の環境ではMac OS XもUbuntu 18.04でも動きませんでした。

NII-cloud-operation/sshkernel
SSH Kernel for Jupyter. Contribute to NII-cloud-operation/sshkernel development by creating an account on GitHub.

ssh kernelをインストールします。

$ pip install -U sshkernel $ python -m sshkernel install --user $ jupyter kernelspec list Available kernels: python3 /Users/aoki.makoto/.pyenv/versions/3.8.2/lib/python3.8/site-packages/ipykernel/resources bash /Users/aoki.makoto/Library/Jupyter/kernels/bash ssh /Users/aoki.makoto/Library/Jupyter/kernels/ssh

Fileメニュー>New launcherを表示すると、NotebookにSSHが増えています!

~/.ssh/configにホストを登録して、ターミナルでssh接続確認します。

$ ssh myhost

NotebookのSSHをクリックします。「!ssh myhost」と入力して、「▶」ボタンをクリック。ssh接続できたことを確認して、「■」で停止します。

新しいセルで「%login myhost」と入力して、、「▶」ボタンをクリック。次のエラーで接続できませんでした。

[ssh] Not logged in. Traceback (most recent call last): File "/home/aoki/.pyenv/versions/3.8.2/lib/python3.8/site-packages/sshkernel/kernel.py", line 109, in do_execute_direct self.assert_connected() File "/home/aoki/.pyenv/versions/3.8.2/lib/python3.8/site-packages/sshkernel/kernel.py", line 218, in assert_connected raise SSHKernelNotConnectedException sshkernel.exception.SSHKernelNotConnectedException

おしいね!

タイトルとURLをコピーしました