本文介绍了进入IPython中的一个功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有办法进入ipython中函数的第一行。我想象一下这样的东西: %step foo(1,2)
运行 ipdb
并在的第一行设置断点foo
。
如果我现在要这样做,我必须去函数的源代码并添加一个 import ipdb; ipdb.set_trace()
line。
解决方案
ipdb已经支持runcall,runeval并运行0.7,今年早些时候。您可以像 pdb.runcall
一样使用它:
在[1 ]:def foo(a,b):
...:打印a + b
...:
在[2]中:import ipdb
在[3]中:ipdb.runcall(foo,1,2)
> < ipython-input-1-2e565fd9c4a4>(2)foo()
1 def foo(a,b):
----> 2打印a + b
3
ipdb>
Is there a way to step into the first line of a function in ipython. I imagine something that would look like:
%step foo(1, 2)
which runs ipdb
and sets a breakpoint at the first line of foo
.
If I want to do this now I have to go to the function's source code and add an import ipdb; ipdb.set_trace()
line.
解决方案
ipdb has had support for runcall, runeval and run since 0.7, earlier this year. You can use it just like pdb.runcall
:
In [1]: def foo(a, b):
...: print a + b
...:
In [2]: import ipdb
In [3]: ipdb.runcall(foo, 1, 2)
> <ipython-input-1-2e565fd9c4a4>(2)foo()
1 def foo(a, b):
----> 2 print a + b
3
ipdb>
这篇关于进入IPython中的一个功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!