【问题标题】:Accessing IPython functionality from the debugger从调试器访问 IPython 功能
【发布时间】:2012-11-19 15:45:55
【问题描述】:

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

例如

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

有没有办法将完整的ipython 功能带入调试器?

【问题讨论】:

    标签: python emacs ipython


    【解决方案1】:

    ipython 运行 Python 调试器 pdb 进行调试,因此您只能使用 pdb 提供的命令(键入 h 以获得列表)以及标准 Python 语法(您可以将 foo? 替换为 help(foo) )。

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

    【讨论】:

    • 谢谢!但我想如果我嵌入一个 IPython shell,我将无法访问ipdb 命令(即continuenext 等)。我对么?有没有办法两全其美?
    • 我认为在vanilla ipython中是不可能的,但我也找到了这个包:pypi.python.org/pypi/ipdb(我没有测试过)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2013-07-13
    • 1970-01-01
    相关资源
    最近更新 更多