2012-11-19 29 views
0

我注意到ipython的某些功能在调试器中不可用。例如,用于可变内省的???操作数不起作用:从调试器访问IPython功能

例如,

ipython> run my_script.py 
ipython> %debug 
ipdb> foo? 
*** SyntaxError: invalid syntax(<stdin>, line1) 

有没有办法将全部ipython功能带到调试器?

回答

4

ipython运行调试Python调试pdb,所以你只限于由pdb(用于列表类型h)以及标准Python语法提供的命令(你可以替换foo?help(foo))。

如果你想在你的代码中的任意位置启动IPython shell,你可以试试Embedding IPython

+0

谢谢!但我猜如果我嵌入IPython shell,我将无法访问'ipdb'命令(即'continue','next'等)。我对么?有没有办法让两全其美? –

+0

我认为这是不可能在香草ipython,但我也发现这个软件包:http://pypi.python.org/pypi/ipdb(我还没有测试过) – btel