2012-06-21 97 views
2

我在eclipse中使用PyDev 2.5。 当我使用raw_input命令并且在控制台中输入一些文本时,这会被解释为导致NameError的控制台命令。pydev交互式控制台和raw_input

例如:

我运行 名称=的raw_input( '名称:')

我答复: 名:马丁

,我得到的结果:

回溯(最近调用最后一个): 文件“C:\ Program Files \ eclipse \ plugins \ org.python.pydev.debug_2.5.0.2012040618 \ pysrc \ pydevd_comm.py”,第755行,在doIt result = pydevd_v ars.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,在evaluateExpression 结果=的eval(编译updated_globals,frame.f_locals) 文件 “”,1号线,在 NameError:名字 '马丁' 没有定义

脚本似乎继续名称正如预期的那样'马丁',但控制台正在变得混乱与这个错误信息。 有没有什么办法摆脱控制台中的NameError消息?

我发现的最类似的帖子是: Greeting program 但我使用的是raw_input。

我也曾尝试()代替( '\ r', '')和eval(()取代(的raw_input '\ r', '')) 的建议在 http://pydev.org/faq.html#PyDevFAQ-hyrawinput%28%29%2Finput%28%29doesnotworkcorrectlyinPyDev%3F 但我还是的raw_input有这种奇怪的行为。

感谢 马丁

回答

0

从堆栈跟踪,似乎在错误发生时,PyDev正试图评估在调试模式下的一些表达你有(可能是从你的表情查看或悬停一些变量时)

这也意味着你可能在调试模式下运行你的程序,而不是在发布模式下(所以,如果你真的想在调试模式下运行它,从表达式视图中删除该表达式,否则定期运行程序而不是内部调试模式)。

+0

嗨法比奥,谢谢你的回答。我已经验证过,如果变量标签打开,行为只发生在调试模式下。如果我关闭了变量选项卡,并且我越过了raw_input语句,那么它运行良好。奇怪,但现在会做。 – martinako

相关问题