Den Schritt in eine Funktion in IPython
Gibt es eine Möglichkeit, den Schritt in die erste Zeile einer Funktion in ipython. Ich kann mir vorstellen, dass etwas Aussehen würde:
%step foo(1, 2)
läuft ipdb
und setzt einen breakpoint auf die erste Zeile der foo
.
Wenn ich das tun möchte, jetzt habe ich zu gehen, um die Funktion der source-code, und fügen Sie ein import ipdb; ipdb.set_trace()
Linie.
- Es gibt keine Funktion wie
%step
. Sie können%run -d
ein ganzes Skript, aber Sie können nicht das gleiche tun für eine einzelne Anweisung oder eine Funktion aufrufen. Sie können manuellpdb.run("foo(1, 2)")
oderpdb.runcall(foo, 1, 2)
. - Ich Frage mich, die gleiche Sache heute. Ich würde diese ganze Zeit, wenn es verfügbar war. Zeit zu Graben, in die iPython-Quelle, um zu sehen, wie es umgesetzt werden kann.
- Möglich, Duplikat der Ist es möglich, Befehle in IPython mit Debuggen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
ipdb hat Unterstützung für runcall, runeval und da laufen 0.7, früher in diesem Jahr. Sie können es verwenden, gerade wie
pdb.runcall
:from IPython.core.debugger import Pdb; ipdb=Pdb()
.SciPy
Benutzer...Den IPython Magie, die Sie fragte, ist nun implementiert, die mit den neueren Versionen:
https://stackoverflow.com/a/46333421/4374441
Sie müssen nur geben Sie
%debug foo(1, 2)
danns
für Schritt in die Funktion.