IPythonマジックコマンドを作る

 IPythonマジックコマンドを作る

Jupyter Notebookは、インタラクティブにPythonなどのプログラムを実行する環境として人気があります。 Jupyter Notebookで拡張機能を作る方法としてはnbextensionsがありますが、作りたいものによっては作成方法が若干複雑です。 そこで、nbextensionsではなくIPythonのマジックコマンドを使って便利ツールを簡単に作る方法を紹介します。

B74ae56d7910fbe1dd685c999b8f9e31?s=128

ShibaNyan

March 29, 2020
Tweet

Transcript

  1. 4.

    目次 - マジックコマンドは何をしているのか - マジックコマンドでできること - マジックコマンドを作る - 今回の題材: import文の整理

    - 何もしないマジックコマンド - ライブラリの関数を持ってくる - その他の実装例 - マジックコマンドの使いどころ - Nbextensionsとの比較
  2. 5.

    マジックコマンドは何をしているのか セル内のソースコード (文字列) 1. バイトコードに変 換 2. 時間計測開始 3. 実行

    4. 時間計測終了 https://github.com/ipython/ipython/blob/master/IPython/core/magics/execution.py#L1184 実行にかかった時 間を出力 %%time の例
  3. 32.

    Nbextensionsとの比較 IPythonマジックコマンド Nbextensions 主に使う言語 Python JavaScript Jupyter Notebookの JavaScript APIを使う

    × (できなくはないが非常にや りづらい) ◯ 作りやすさ ◯ (物によっては数行) △ (インストール・エスケープ 処理したりといった手間 )
  4. 33.

    Nbextensionsとの比較 IPythonマジックコマンド Nbextensions 主に使う言語 Python JavaScript Jupyter Notebookの JavaScript APIを使う

    × (できなくはないが非常にや りづらい) ◯ 作りやすさ ◯ (物によっては数行) △ (インストール・エスケープ 処理したりといった手間 ) 他のIPythonフロントエンド (IPython, Jupyter Lab, VSCodeなど) でも動く ◯ (JavaScriptでJupyter NotebookのAPIを使わなけ れば大丈夫) ×
  5. 35.

    おわり - マジックコマンドは何をしているのか - マジックコマンドでできること - マジックコマンドを作る - 今回の題材: import文の整理

    - 何もしないマジックコマンド - ライブラリの関数を持ってくる - その他の実装例 - マジックコマンドの使いどころ - Nbextensionsとの比較