При написании кода на Python (в основном numpy + matplotlib ) я обычно просто введите код в vim и запустите программу для проверки:
python2 foo.py
Иногда, когда этого недостаточно и мне нужно более тщательно изучить проблему, я просто запускаю программа в ipython:
ipython -pylab foo.py
, а затем проверьте переменные, проверьте некоторые команды и так далее. Мне нравится ipython
из-за завершения табуляции и доступности команд bash .
Это сработало для меня достаточно хорошо, но теперь мои программы стали больше и включают в себя множество подпрограмм (в несколько файлов). Подход ipython
больше не работает, потому что он всегда запускает полный код до конца foo.py
(когда он попадает в оболочку pylab ). Вместо этого я хотел бы остановить выполнение в заданной строке подпрограммы (может быть в другом файле) и проверить там переменные. Т.е. установить точку останова, в которой срабатывает оболочка пилы.
Есть ли простой способ адаптировать мой ipython
способ работы? Например, остановитесь на строке в bar.py
ipython -pylab --stop-at bar.py:423 foo.py
или остановитесь на имени подпрограммы в bar.py
ipython -pylab --stop-at bar.py:subroutine-name foo.py