jupyter notebook
jupyter-notebook
jupyterのサブコマンドで起動することもjupyter-notebookコマンドでも実行できます。
パスワードを設定する
コマンドを実行するとデフォルトブラウザが立ち上がるのですが、パスワードかトークンの入力を求められます。
KonsoleではトークンをつけたURLが表示されているのでそれを右クリック ー> リンクを開く、でJupyter Notebookを使うことができるようになります。
しかし毎回Konsoleに戻ってリンクを開くのは面倒なのでパスワードを設定することにします。
jupyter-notebook password
これでパスワードを設定できます。
pq@pq-VirtualBox:~$ jupyter-notebook password Enter password: Verify password: [NotebookPasswordApp] Wrote hashed password to /home/pq/.jupyter/jupyter_notebook_config.json~/.jupyter/jupyter_notebook_config.jsonに暗号化してパスワードが書き込まれます。
あとはブラウザの自動入力機能を使えば毎回パスワードを入力しなくてもLog inボタンをクリックするだけで済みます。
オプションをファイルで設定する
jupyter-notebook --generate-config
これでデフォルト設定ファイルが作成されます。
pq@pq-VirtualBox:~$ jupyter-notebook --generate-config Writing default config to: /home/pq/.jupyter/jupyter_notebook_config.py~/.jupyter/jupyter_notebook_config.pyに書き出されました。
ディレクトリを指定する
## The directory to use for notebooks and kernels. #c.NotebookApp.notebook_dir = ''c.NotebookApp.notebook_dirを設定してJupyter Notebookのルートティレクトリを変更しました。
c.NotebookApp.notebook_dir = '/home/pq/jupyter'
/home/pq/jupyterを指定しました。
ブラウザを指定する
## Specify what command to use to invoke a web browser when opening the notebook. # If not specified, the default browser will be determined by the `webbrowser` # standard library module, which allows setting of the BROWSER environment # variable to override it. #c.NotebookApp.browser = '' c.NotebookApp.browser = 'firefox'ブラウザにFirefoxを指定しました。
メニューに登録する
Jupyter Notebookを終了するにはシェルからCtrl+cとしないといけないので、ランチャからKonsoleを起動することにします。
アイコンは/usr/lib/python3/dist-packages/notebook/static/base/imagesにあるfavicon.icoを使いました。
konsole -e jupyter-notebook
コマンドはこのようにKonsoleからjupyter-notebookを起動しています。
終了するときはKonsoleでCtrl+cして、yとすると終了できます。
拡張機能のインストール
今までも、いくつか拡張機能は使っていたものの、大部分は使わずに過ごしていたため、食わず嫌いはいけないな・・と思いドキュメント読みながら使ってみてまとめます。
pip install --user jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install --user jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
これでJupyter Notebookを起動するとNbextensionsタブができています。
Nbextensionsタブをクリックすると拡張機能のオンオフが切り替えることができます。
contrib_nbextensins_help_item
Nbextensions dasboard tab
Nbextensions edit menu item
この3つは初めから有効になっていました。
AddBefore
Autoscroll
CodeMirror mode extensions
jupyter-js-widgets/extension
Luaunch QTConsole
Skip-Traceback
この6つは互換性がない可能性があるということで有効にできなくなっています。
これは単に互換性に関する情報が提供されていないだけでチェックできなくなっていることもあるようで、上にあるdisable configuration for nbextensions without explicit compatibility (they may break your notebook environment, but can be useful to show for nbextension development)のチェックを外すと使えるようになります。
拡張機能名を選択すると下にパラメーター設定画面がでてきます。
Launch QTConsoleを選択するとcompatibilityが4.xだけになっています。
jupyter-notebookは5.2.2なのでそれで互換性がないといわれているのかと思います。
でもチェックしてみるとちゃんと動きました。
互換性の可能性がないといわれている拡張機能はすべて5.xの互換性が書いていませんでした。
jupyter-js-wedgets/extensionはcompatibilityが?.xになっていました。
追加で有効にした拡張機能
チェックして新しいNotebookを開くとその拡張機能が有効になります。
jupyter-js-widgets/extension
Using Interact — ipywidgets and jupyter-js-widgets 6.0.0.beta7 documentation
変数を動的に変更できるウィジェットが表示できるようになります。
スライダーやチェックボックスでxが動的に変更できるようになっています。
Luaunch QTConsole
Run QTConsoleボタンをクリックすると、プロンプト番号の続きからQt consoleが起動します。
Qt Consoleと同じkernelになっているようで、グローバルスコープは同じになっています。
Live Markdown Preview
Markdownセルに入力するとリアルタイムにレンダリング結果が表示されます。
GFMのシンタックスハイライトには対応していますが、絵文字はダメみたいですね。
Snippets
Snippets — jupyter_contrib_nbextensions 0.5.0 documentation
Snippetsのプルダウンメニューから定型コードを入力できます。
定型コードはsnippets.jsonに書いておきます。
snippets.jsonあるディレクトリは$(jupyter --data-dir)/nbextensions/snippetsを実行すると確認できます。
pq@pq-VirtualBox:~$ $(jupyter --data-dir)/nbextensions/snippets bash: /home/pq/.local/share/jupyter/nbextensions/snippets: ディレクトリですスニペットのコードは1行ずつ文字列で1要素としてJSONの配列に書きます。
これが結構面倒です。
ダブルクォーテーションでしか囲えないので、コード内にはダブルクォーテーションは使えません。
タブを使っているとエラーになります、、、Pythonコードなのに、、、
なのでsnippets.jsonに書き込む手順としては、
ダブルクォーテーションをシングルクォーテーションに書き換える、
タブをスペースに置換する、
1行ずつダブルクォーテーションで囲んでカンマで区切る、
というふうにしないといけません。
{ "snippets" : [ { "name" : "example", "code" : [ "# This is an example snippet!", "# To create your own, add a new snippet block to the", "# snippets.json file in your jupyter nbextensions directory:", "# /nbextensions/snippets/snippets.json", "import this" ] }, { "name" : "NewCode", "code" : [ "import os", "os.environ['UNO_PATH'] = '/usr/lib/libreoffice/program'" ] } ] }こんな感じでnameとcodeを追加していきます。
Table of Contents (2)
Table of Contents (2) — jupyter_contrib_nbextensions 0.5.0 documentation
Table of ContentsボタンをクリックするとMarkdownセルの内容で目次を作ってくれます。
ギアアイコンをクイックすると設定変更できます。
デフォルトではタイトルに連番を振ってくれます。
nbconvertでHTMLへ出力もできるようです。
Variable Inspecor
Variable Inspector — jupyter_contrib_nbextensions 0.5.0 documentation
Variable Inspectorボタンをクリックすると変数の値などが表示されます。
Sizeというのはsys.getsizeof()の戻り値で、オブジェクトのバイト数です。
0 件のコメント:
コメントを投稿