интерактивная консоль pydev и raw_input

Я использую PyDev 2.5 в eclipse. Когда я использую команду raw_input и ввожу текст в консоль, это интерпретируется как консольная команда, что приводит к ошибке NameError.

Например:

Я запускаю name = raw_input('name:')

Я отвечаю: имя: мартин

и получаю в результате:

Трассировка (последний последний вызов): файл «C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd_comm.py», строка 755, в doIt result = pydevd_vars.evaluateExpression( self.thread_id, self.frame_id, self.expression, self.doExec) Файл "C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd_vars.py", строка 384, в результате оценкиExpression = eval(compiled, updated_globals, frame.f_locals) Файл "", строка 1, в NameError: имя 'martin' не определено

сценарий, кажется, продолжается с именем «мартин», как и ожидалось, но консоль становится загроможденной этими сообщениями об ошибках. Есть ли способ избавиться от сообщений NameError в консоли?

Наиболее похожий пост, который я нашел, это: Программа приветствия, но я уже использую raw_input.

Я также пробовал raw_input().replace('\r', '') и eval(raw_input().replace('\r', '')) как предложено в http://pydev.org/faq.html#PyDevFAQ-hyrawinput%28%29%2Finput%28%29неработаеткорректновPyDev%3F, но у меня все еще есть это странное поведение.

Спасибо, Мартин.


person martinako    schedule 21.06.2012    source источник


Ответы (1)


Из трассировки стека кажется, что ошибка возникает, когда PyDev пытается оценить какое-то выражение, которое у вас есть в режиме отладки (возможно, из вашего представления «Выражения» или при наведении на какую-то переменную)

Это также означает, что вы, вероятно, запускаете свою программу в режиме отладки, а не в режиме выпуска (поэтому, если вы действительно хотите запустить ее в режиме отладки, удалите это выражение из представления выражений, в противном случае запускайте программу регулярно, а не внутри режим отладки).

person Fabio Zadrozny    schedule 25.06.2012
comment
Привет Фабио, Спасибо за ответ. Я проверил, что поведение происходит только в режиме отладки, если открыта вкладка переменных. Если я закрою вкладку переменных и перешагну оператор raw_input, тогда все будет хорошо. странно, но пока сойдет. - person martinako; 26.06.2012