2012-11-19 28 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