Kaggle Notebook で pdb を(無理矢理)使う方法


Kaggle Notebook ではインタラクティブなシェルが利用できないため、pdbを使うことができません。
ですが、pdbのコマンドをあらかじめテキストファイルに保存しておき、catで標準入力として対象のプログラムに渡すことでデバッグができます。

/tmp/pdb.txt
b hoge.py:258
c
p var
c
%%bash
conda env my_env
cat /tmp/pdb.txt | python -m pdb /tmp/evaluate.py

普通は %debug マジック関数を使うと思いますが、Cell上でなくスクリプトとしてpythonを実行しなければならない場合に上記の方法が役立ちます。