让'interactive'使用IPython控制台,而不是标准的Python控制台?

时间:2014-08-19 23:08:56

标签: python debugging ipython pdb ipdb

在pdb / ipdb调试中,有用的interact命令为我提供了一个功能齐全的交互式Python控制台。

但是,即使我开始使用ipdb,这似乎总是“标准”Python控制台。有没有办法配置ipdb,interact将给我IPython控制台,而不是标准的Python控制台?有趣的是,我获得了IPython样式提示,但我没有使用IPython魔法,例如%whos

In [24]: 1/0
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-24-05c9758a9c21> in <module>()
----> 1 1/0

ZeroDivisionError: division by zero

In [25]: %debug
> <ipython-input-24-05c9758a9c21>(1)<module>()
----> 1 1/0

ipdb> interact
*interactive*
In : %whos
  File "<console>", line 1
    %whos
    ^
SyntaxError: invalid syntax

有没有办法让ipdb interact为我提供功能齐全的IPython控制台?

1 个答案:

答案 0 :(得分:5)

.pdbrc

import IPython 
[..]
# Interactive shell
alias interacti IPython.embed()