ipython-notebook - itemize - jupyter notebook markdown list
Ipython: Código de depuración dentro del cuaderno (3)
Instalé epd 7.3.2 gratis en amazon EWS EC2 y coinfiguré ipython notebook como un servidor de notebook público.
Ejecuto el servidor de esta manera:
nohup ipython notebook --profile=nbserver %
Todo funciona bien, puedo iniciar sesión con contraseña en https y código.
Ahora me gustaría usar pdb / ipdb para depurar las funciones de Python dentro del portátil , pero en Internet no puedo encontrar el procedimiento para configurar el depurador.
Alguien me puede ayudar ?
Saludos
Massimo
Estos son los paquetes instalados:
root@domU-xx-xx-xx-xx-xx-xx:/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
root@domU-xx-xx-xx-xx-xx-xx:/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 -
¡No es posible!
Encontré esto:
"¡Muy importante, esto significa que el% debug magic no funciona en el portátil! Intentamos corregir esta limitación, pero mientras tanto, hay una manera de depurar problemas en el portátil: puede conectar una consola Qt a su actual kernel de notebook, y ejecute% debug desde la consola Qt ".
en Ipython Doc
Ahora el punto es:
- portátil ipython remoto --profile = nbserver se ejecuta en EWS EC2 USA
- qtconsole de ipython local se está ejecutando en mi PC
El archivo de conexión JSON en el EWS EC2 remoto es:
{
"stdin_port": 55986,
"ip": "127.0.0.1",
"hb_port": 55385,
"key": "984e86e7-4d88-4d74-8912-cbe46bc316c0",
"shell_port": 49024,
"iopub_port": 33440
}
Desafortunadamente, el depurador aún no se ha integrado en el portátil, pero puede usar otra interfaz para conectarse al kernel y ejecutar el depurador allí. La forma más fácil, si tiene configurado el reenvío X, es ejecutar %qtconsole
(consulte http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html#workflow-and-limitations ). También puede ejecutar %connect_info
y luego usar la información que le proporciona para ejecutar la ipython console
(es decir, la que se usa en el modo de terminal ordinario) conectada al mismo kernel.
Simplemente expandiendo el punto de @Ken Arnold para que las personas no tengan que leer todas las respuestas para resolverlo. A partir de la versión 1.0, la depuración FUNCIONA en el portátil ipython.
Simplemente inicie la celda con %debug
y luego podrá usar los controles típicos para ipdb ( (n)ext
, step
, etc.).