Подтвердить что ты не робот

Включение функции в IPython

Есть ли способ войти в первую строку функции в ipython. Я представляю себе что-то вроде:

%step foo(1, 2)

который запускает ipdb и устанавливает точку останова в первой строке foo.

Если я хочу сделать это сейчас, мне нужно перейти к исходному коду функции и добавить строку import ipdb; ipdb.set_trace().

4b9b3361

Ответ 1

ipdb имеет поддержку runcall, runeval и работает с 0.7, ранее в этом году. Вы можете использовать его так же, как 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>