Ipython: отладка кода внутри ноутбука
Я установил epd 7.3.2 на amazon EWS EC2 и объединил ipython-ноутбук в качестве публичного ноутбука.
Я запускаю сервер таким образом:
nohup ipython notebook --profile=nbserver %
Все работает нормально, я могу войти с паролем на https и код.
Теперь я хотел бы использовать pdb/ipdb для отладки функций python внутри ноутбука, но в Интернете я не могу найти процедуру настройки отладчика.
Может кто-нибудь мне помочь?
Привет
Массимо
Это установленные пакеты:
[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 -
Ответы
Ответ 1
Просто расширяя точку @Ken Arnold, чтобы люди не могли прочитать все ответы, чтобы понять это.
Начиная с версии 1.0, отладка РАБОТАЕТ в ноутбуке ipython.
Просто запустите ячейку с помощью %debug
, а затем вы сможете использовать типичные элементы управления для ipdb ((n)ext
, step
и т.д.).
Ответ 2
К сожалению, отладчик еще не интегрирован в ноутбук, но вы можете использовать другой интерфейс для подключения к ядру и вместо этого запускать отладчик. Самый простой способ, если у вас есть настройка пересылки X, - запустить %qtconsole
(см. http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html#workflow-and-limitations). Вы также можете запустить %connect_info
, а затем использовать информацию, которую он дает вам для запуска ipython console
(т.е. Обычного терминального режима), подключенного к одному и тому же ядру.
Ответ 3
Это невозможно!
Я нашел это:
"Очень важно, что это означает, что магия отладки% не работает в ноутбуке! Мы намерены исправить это ограничение, но в то же время есть способ отладить проблемы в ноутбуке: вы можете прикрепить консоль Qt к существующему ядру для ноутбуков и запустите% debug с консоли Qt."
on Ipython Doc
Теперь точка:
- удаленный ipython notebook --profile = nbserver работает на EWS EC2
США
- локальная ipython qtconsole работает на моем компьютере
Файл подключения JSON на удаленном EWS EC2:
{
"stdin_port": 55986,
"ip": "127.0.0.1",
"hb_port": 55385,
"key": "984e86e7-4d88-4d74-8912-cbe46bc316c0",
"shell_port": 49024,
"iopub_port": 33440
}