2014-03-24 4 views
9

Ist es möglich, grafische Breakpoints zu treffen, wenn Codes in PyCharms IPython-Konsole ausgeführt werden?Debugging in PyCharm IPython

dh:

  • Sie haben einen Skript foo() in foo.py
  • Sie legen einen grafischen Haltepunkt in foo() aus dem Editor (die red dot-Nummer neben Zeile)
  • Sie importieren foo in eine PyCharm der IPython Konsole und führen foo() (Hinweis: nicht von einer Debug-Konfiguration läuft)

Antwort

1

Ja, es ist. Aber es ist nicht automatisch.

(mit 4.5.2, Windows-8)

Ich betreibe einen IPython Notebook, und lassen Sie PyCharm das Notebook Backend pfiffen.

Ich drücke Tools, Attach to Process und versuche, die PID des Notebook-Prozesses zu identifizieren. Ich muss noch einen reibungslosen Weg finden, dies zu tun. Momentan benutze ich Process Explorer, finde den Eintrag pycharm und beobachte die neuen Unterprozesse, nachdem der Notebook-Server gestartet wurde. Sie wollen das Blatt python.exe Prozess, z:

6268 pycharm.exe 
1235 python.exe  (new when notebook launched) 
7435  conhost.exe (new) 
9237  python.exe  (new - pick this PID) 

Ich kann jetzt eine Zelle und drücken Sie die grafische Stützpunkte laufen.

Genießen.

+2

In PyCharm Professional 2016.1 befindet sich neben der IPython-Konsole ein Debug-Symbol. Wenn Sie darauf klicken, werden Haltepunkte im Code berücksichtigt. – bvanlew

1

auf Ubuntu hatte ich die Linie kernel.yama.ptrace_scope = 1 in /etc/sysctl.d/10-ptrace.conf-kernel.yama.ptrace_scope = 0 sonst PyCharm nicht in der Lage war, zu ändern, um den ipython Prozess anhängen.

+0

Das deutet pycharm an, ich habe es auf Mint versucht, aber ohne Erfolg; –