2013-02-28 1 views
16

Ich habe epd 7.3.2 kostenlos auf Amazon EWS EC2 und münzbares ipython-Notebook als öffentlichen Notebook-Server installiert.Ipython: Debugging-Code im Notebook

Ich betreibe das den Server auf diese Weise:

nohup ipython notebook --profile=nbserver % 

Alles funktioniert gut, ich kann auf https und Code mit Passwort einloggen.

Nun möchte Ich mag PDB/IPDB zu Debug-Python-Funktionen im Innern des Notebooks, aber im Internet verwenden, kann ich nicht das Verfahren finden, wie die Debugger-Setup.

Kann mir jemand helfen?

Grüße

Massimo

Dies sind die installierten Pakete:

[email protected]:/opt/epdFree7.3.2/bin# ./pip freeze 
EPD==7.3 
Examples==7.3 
Jinja2==2.6 
MKL==10.3 
PIL==1.1.7 
Pygments==1.4 
PythonDoc==2.7.3 
appinst==2.1.2 
apptools==4.1.0 
casuarius==1.0 
chaco==4.2.0 
cloud==2.4.6 
configobj==4.7.2 
distribute==0.6.26 
enable==4.2.0 
enaml==0.2.0 
enstaller==4.5.6 
etsproxy==0.1.1 
freetype==2.4.4 
idle==2.7.3 
ipdb==0.7 
ipython==0.13.1 
kernmagic==0.1.0 
matplotlib==1.1.0 
nose==1.1.2 
numpy==1.6.1 
ply==3.4 
pyaudio==0.2.4 
pyface==4.2.0 
pyglet==1.1.4 
python-dateutil==1.5 
pytz==2011n 
pyzmq==2.1.11 
scipy==0.10.1 
tornado==2.2 
traits==4.2.0 
traitsui==4.2.0 
wsgiref==0.1.2 
wxPython==2.8.10.1 

[email protected]:/opt/epdFree7.3.2/bin# ./enpkg -l 
prefix: /opt/epdFree7.3.2 
Name     Version    Store 
============================================================ 
appinst    2.1.2-1    - 
apptools    4.1.0-1    - 
casuarius   1.0-1    - 
chaco    4.2.0-1    - 
cloud    2.4.6-1    - 
configobj   4.7.2-2    - 
distribute   0.6.26-1    - 
enable    4.2.0-1    - 
enaml    0.2.0-1    - 
enstaller   4.5.6-1    api rh5-64 
EPD     7.3-0    - 
etsproxy    0.1.1-1    - 
Examples    7.3-0    - 
freetype    2.4.4-1    - 
idle     2.7.3-1    - 
ipython    0.13.1-2    api rh5-64 
Jinja2    2.6-2    - 
kernmagic   0.1.0-1    - 
matplotlib   1.1.0-1    - 
MKL     10.3-1    api rh5-64 
nose     1.1.2-1    - 
numpy    1.6.1-3    api rh5-64 
PIL     1.1.7-3    - 
ply     3.4-1    - 
pyaudio    0.2.4-1    - 
pyface    4.2.0-1    - 
pyglet    1.1.4-2    - 
Pygments    1.4-1    - 
python_dateutil  1.5-2    - 
PythonDoc   2.7.3-1    - 
pytz     2011n-1    - 
pyzmq    2.1.11-1    - 
scipy    0.10.1-0    - 
tornado    2.2-1    - 
traits    4.2.0-1    - 
traitsui    4.2.0-1    - 
+0

Bezug: https: // stackoverflow.com/questions/32409629/Was ist der richtige Weg zum Debug-in-ipython-notebook –

Antwort

5

Es nicht möglich!

fand ich dies:

„Sehr wichtig ist, bedeutet dies, dass die% Debug-Magie nicht im Notebook funktioniert Wir beabsichtigen, diese Einschränkung zu korrigieren, aber in der Zwischenzeit ist es eine Möglichkeit, um Probleme mit in! Das Notebook: Sie können eine Qt-Konsole an Ihren vorhandenen Notebook-Kernel anschließen und% debug von der Qt-Konsole ausführen. "

auf Ipython Doc

Jetzt ist der Punkt:

  • Fern ipython Notebook --profile = nbserver auf EWS EC2 läuft USA
  • lokalen ipython qtconsole auf meinem PC läuft

die JSON-Verbindungsdatei auf dem Remote-EWS EC2 ist:

{ 
    "stdin_port": 55986, 
    "ip": "127.0.0.1", 
    "hb_port": 55385, 
    "key": "984e86e7-4d88-4d74-8912-cbe46bc316c0", 
    "shell_port": 49024, 
    "iopub_port": 33440 
} 
8

Leider ist der Debugger noch nicht in das Notebook integriert, aber Sie können ein anderes Frontend verwenden, um sich mit dem Kernel zu verbinden und stattdessen den Debugger zu starten. Der einfachste Weg, wenn Sie X Forwarding eingerichtet haben, ist %qtconsole (siehe http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html#workflow-and-limitations). Sie können auch %connect_info ausführen und dann die Informationen verwenden, die Sie zum Ausführen von ipython console (d. H. Dem normalen Terminalmodus), der mit demselben Kernel verbunden ist, verwenden.

+12

Ab Version 1.0 funktioniert% Debug jetzt! (http://ipython.org/ipython-doc/stable/whatsnew/version1.0.html#notebook) Beachten Sie, dass während der Debugger aktiv ist, Sie nicht in der Lage sein werden, andere Zellen auszuwerten, genau wie andere lange Ausführung –

26

Erweiterung Gerade @Ken Arnolds Punkt, damit die Menschen müssen alle Antworten dies herauszufinden nicht lesen. Ab der Version 1.0, Debug ARBEITET im ipython Notebook.

Starten Sie einfach die Zelle mit %debug und dann können Sie die typischen Steuerungen für ipdb ((n)ext, step, etc.) verwenden.

+1

Das Hinzufügen von% debugging funktionierte nicht für mich. – user2725109