コマンドラインからfoo.py
を実行していますが、forループを持つ関数が含まれており、その中にIPython.embed()ステートメントを持つ関数があります。 これは、関数内のその時点でインタープリターを初期化して、それらのローカル変数にアクセスできるようにするためです。
ただし、組み込みインタープリターから脱出しようとすると、新しいインタープリターを開くだけで(おそらく、forループの場合は最大k回)、その端末を効果的にロックします。
ipdb
のq
に類似したコマンドがあれば便利です。このコマンドはすぐに例外をスローし、 foo.py
が実行されたCLIに戻ります。
%kill_embedded
試してください-ループから抜け出すことはありませんが、スクリプトの残りの部分が完了するまで実行されるように、 embed()
no-opsへの今後のすべての呼び出しを行う必要があります。
スクリプトの実行を完全に停止する単一のコマンドがあると便利です。 同等のもののように:
%kill_embedded
(そしてそうです、確かに)exit
%exit_raise
は外部コンテキストに例外を発生させ、コードは終了します
最も参考になるコメント
スクリプトの実行を完全に停止する単一のコマンドがあると便利です。 同等のもののように:
%kill_embedded
(そしてそうです、確かに)exit