私には、理解できないために説明できない非常に奇妙な動作があるので、ここの誰かが私を助けてくれることを願っています. 私が最初に気付いたのは、ipdb が変数を定義させてくれないことでした。
ipdb> what=5
ipdb> what
*** NameError: name 'what' is not defined
whatelse=6
そして少し後に、ipdbが入力でこれを返すことがわかりました(コードを再度実行した後):
dir()
ipdb> ['args', 'content_type', 'function', 'ipdb', 'item_code', 'kwargs', 'object_id', 'request', 'ud_dict', 'update_querydict', 'what', 'whatelse']
what=5
ipdb> what
5
ipdb> whatelse=7
ipdb> whatelse
ipdb> 6
whatelse
ipdb> 7
whatelse
ipdb> 6
whatelse
ipdb> 7
私には、これは 2 つのインターリーブ デバッグ セッションがあり、奇妙な交互パターンでアクセスできるように見えます。どうすればそれを取り除くことができますか?
編集: すべての python プロセスを強制終了し、コードを再実行すると効果がありました。すべてが正常に戻りました。しかし、何が起こっているのか理解できないので、何が起こったのかに対する答えと、その動作を再現する方法に非常に興味があります.