我刚刚安装了sublime text 2,控件包和python断点。好吧,我正在尝试使用这些软件包的断点功能,但它不起作用。我使用的是Ubuntu 14.04.2 LTS。
这只是一个测试代码
import pdb; pdb.set_trace()
p = 'Hello World'
print p
当我运行它时,会发送以下输出消息:
> /home/teste.py(5)<module>()
-> p = 'Hellow World'
(Pdb) Traceback (most recent call last):
File "/home/teste.py", line 5, in <module>
p = 'Hellow World'
File "/home/teste.py", line 5, in <module>
p = 'Hellow World'
File "/usr/lib/python2.7/bdb.py", line 49, in trace_dispatch
return self.dispatch_line(frame)
File "/usr/lib/python2.7/bdb.py", line 68, in dispatch_line
if self.quitting: raise BdbQuit
bdb.BdbQuit
我会很高兴得到任何帮助。
答案 0 :(得分:1)
这样就可以得到这个问题的答案:
似乎Sublime Text本身不支持任何类型的REPL。上面的断点正在工作但退出时出现BdbQuit
异常,当pdb REPL收到EOF时会引发异常,这是退出&#39;退出的常用方法。 (也适用于bash,zsh,python解释器等)。显然,Sublime Text会立即发送,因为它无法打开REPL。
只是不要使用Sublime Text运行代码。通过命令行(python my_script.py
)或Python解释器(通过导入和运行)激活此断点确实会使您按预期进入pdb解释器。
有一些项目(比如我在上面的评论中提到的this one)可以为Sublime添加REPL支持。我不会亲自使用Sublime Text,所以我不能推荐一个,也不知道那个是不是很好。
如果有任何Sublime专家出现,请随时改进此答案或在评论中提出备选方案。