Удобный отладчик для Python/Django проектов


Pudb — полноэкранный консольный дебагер с графическим интерфейсом. Большим плюсом является то, что в нем есть подсветка синтаксиса, дополнительные панели вывода информации, горячии клавиши и интерграция с IPython.

pdb, в сравнении с Pubd, показался жутно не удобным и ограниченым. Поиск ошибок стал занимать на много меньше времени и приносить больше удовольствия. При первом взгляде на него вспоминался Assembler и Turbo Pascal в студенческие годы в техникуме.

Если кто заинтересовался примеры установки и использования под катом.


Установка до ужаса банальна и привычна, легко ставится из PyPI:
pip install pudb

либо можно поставить на прямую из исходников:
git clone git://github.com/inducer/pudb.git
cd pudb && setup.py install


При желании можно запустить отладчик из баша:
$ python
>>> import pudb
>>> pudb.set_trace()


При первом запуске pubd появится окошко для его настройки. Или же не появится, как это было со мной, в таком случае вызовите настройщик комбинацией Ctrl+p.
Впервые увидив дебагер вполне вероятно Вам сразу все будет понятно, интерфейс на удивление лаконичен и приветлив.
В настройщике можете выбрать shell (classic или ipython), тему (midnight, vim, dark, classic, vim, либо создать тему самому), порядок вывода стека, способ вывода значений переменных контекста.

Отладчик можно вызвать как для отдельных скриптов на языке Python, так и с фреймворком Django.
Для интреграции с Django просто в нужном месте вставляем такие строчки:
from pudb import set_trace; set_trace()


Для отладки отдельного скрипта делаем так:
python -m pudb.run my-script.py


Для использующих Python 2.6 и выше, то можно вызвать так:
python -m pudb my-script.py


Если в интерфейсе что то не понятно всегда можно нажать "?" и Вы увидите полный список команд.
Возможностей у дебагера много, например можно вывести трейсбек, путь к текущему файлу и номер строки на которой находимся, присутствует поиск, удобная работа с брейкпоинтами и многое-многое другое.
В общем все что нужно для удобного дебагинга и быстрого поиска ошибок pubd в себе содержит.
Как говорится, жить с ним стало легче.

Ссылка на Github
Ссылка на wiki
Поделиться публикацией

Похожие публикации

Комментарии 11

    +1
    Отличная штука, спасибо. Давно хотел что-нибудь подобное найти.
      +1
      вот еще один pytools.codeplex.com/
        0
        Оно вряд ли заработает под линуксом ;)
      +5
      Как насчет интеграции с IDE?
      Я не буду утверждать, но мне кажется, что большинство тех, кто использует django — работает в IDE. В том же PyCharm шикарный дебагер (pydev).
      А чем не удобен pdb?
        0
        pdb удобный и может использоваться из IDE. Но почему то больше нравилось работать с ним через консоль. Впервые использовав pudb почему то понравился больше. Я не говорю что это самый лучший и крутой дебагер, но мои задачи и потребности он решает. Для меня этого достаточно.
          0
          А если нужно через консоль что-то продебажжить?

          например на сервере какой-то фукнционал не работает, а у вас на компе в PyCharm все работает как нужно.

          дебажить через logger не всегда удобно и практично.
            0
            Мне кажется такую штуку можно использовать на продакшене в случае возникновения ошибок, которые не повторяются на локальной версии.
              +3
              Можно один вопросик: а при чем тут вообще Django?
                –3
                Greetings from 1986!
                  –2
                  консольный дебагер с графическим интерфейсом???????

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое