ipythonqt シェルが開いていて、シェルがスクリプトを実行しているとします。シェルをリアルタイムで複製する方法はありますか (つまり、現在最初のシェル/カーネルのメモリ状態に関連付けられているすべてのオブジェクトのコピーが含まれるように、別の ipython シェルを開きます)。これの目的は (とりわけ)、元のシェルがそのスクリプトを実行している進行状況を検査できるようにすることです。ありがとう。
2 に答える
2
IPython は、複数のコンソールを備えたインタープリター カーネルを中心に設計されています。私が始めるとき
ipython console
バナー テキストで次のように報告されます。
[IPKernelApp] To connect another client to this kernel, use:
[IPKernelApp] --existing kernel-6795.json
したがって、別のシェルで実行ipython console --existing kernel-6795.json
してから、1つのシェルに入力できます
pid = os.getpid()
そして他のシェルで:
print pid
NameError を取得せずに。これまでこの機能を使用したことがなかったので、プロセスとしてどのように実装されているかを調べましipython
たpython
。実際、os.getpid()
両方のシェルで同じ PID を提供します。
ただし、1 つのシェルがコードを実行している場合、最初のシェルがコマンド プロンプトに戻るまで、2 番目のシェルはブロックされます。イベント駆動型がこれをどのように処理するかはまだわかりipython qtconsole
ません。
于 2013-07-05T15:17:02.293 に答える