EIN(Emacs IPython Notebook)を試してみる
2つrepositoryがあり後者の方がmelpaで入るもの。どうやら後者は前者のforkらしい。
- tkf/emacs-ipython-notebook: IPython notebook client in Emacs
- millejoh/emacs-ipython-notebook: Jupyter and IPython 2.x/3.x notebook client in Emacs
install
package-installで入れる。
M-x package-install ein
注意点としてemacsのversionを上げないとうまくいかない模様。25に上げる必要があった。結構アグレッシブ。
how to use
使い方は以下を何処かに記述してから。
(require 'ein)
- jupyter-notebookを立ち上げる
- einからjupyterのserverにログイン
- notebookの一覧表示
- notebookを開く
jupyter-notebookを立ち上げる。
$ jupyter-notebook [I 21:40:56.465 NotebookApp] Serving notebooks from local directory: ~/venvs/my3/nbreversible/examples/00ipython [I 21:40:56.465 NotebookApp] 0 active kernels [I 21:40:56.465 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/?token=4bf5221877274cbb6d1efd9971e6b5999643d9c19f09449e [I 21:40:56.465 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 21:40:56.467 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=4bf5221877274cbb6d1efd9971e6b5999643d9c19f09449e
ここでtokenの4bf5221877274cbb6d1efd9971e6b5999643d9c19f09449e
をコピーしておく。
その後emacs上で M-x ein:notebooklist-login
を実行しパスワードの箇所でコピーしておいたトークンを入力する。
ログインが成功したら M-x ein:notebooklist-open
で一覧画面を開く。
Jupyter v5 Notebook list | [Home] | [New Notebook] [Reload List] [Open In Browser] Create New Notebooks Using Kernel: ( ) Python 3 [Open] [Stop] [Delete] : 00pretty.ipynb [Open] [Delete] : 00pretty.md [Open] [Delete] : 00pretty.py [Open] [Delete] : Makefile [Open] [Delete] : requirements.txt ---------- All Opened Notebooks ---------- [Open][Close] : *ein: http://127.0.0.1:8888/00pretty.ipynb*
雰囲気で使い方はわかると思う。OpenのところでEnterを押すとnotebookが開く。
with notebook
notebookを開いたら通常のnotebookとおおよそ同様の画面に辿り着く。こういうような。
In [1]
ここで最低限覚えて置かなければいけないのは以下の4(3)つ。
key | 説明 |
---|---|
C-c C-c | 現在のcellを評価する |
C-c C-a | 現在のcellの上に新しいcellを作る |
C-c C-b | 現在のcellの下に新しいcellを作る |
C-c C-k | 現在のcellを削除する |
詳しいkey-bindingはこのあたりに
変更の保存はもちろん C-x C-s
。
tab (worksheet)
ちょっとした作業にworksheetを行き来するのが楽なので便利。これは以下の様にして使う。
key | 説明 |
---|---|
C-c + | 新しいworksheetの作成 |
C-c 1 | worksheet1に移動 |
C-c 2 | worksheet2に移動 |
C-c 3 | worksheet3に移動 |
.. | .. |
C-c |
worksheet |
C-c - | worksheetの削除 |