Странное поведение IPython ipdb

У меня действительно странное поведение, которое я просто не понимаю и поэтому не могу объяснить, так что я надеюсь, что кто-нибудь здесь сможет мне помочь. Первое, что я заметил, это то, что 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

Мне это кажется, что у меня есть два чередующихся отладочных сеансы, к которым у меня есть доступ в какой-то странной чередующейся схеме. Как я могу избавиться от этого?

изменить: Уничтожение всех процессов Python и повторный запуск кода помогли. Сейчас все в норме. Но поскольку я просто не понимаю, что происходит, мне было бы очень интересно узнать, что произошло, и как воспроизвести поведение.

18
задан Martijn Pieters 30 March 2015 в 11:05
поделиться