Подтвердить что ты не робот

Отладка сценариев vim и python

Есть ли способы отладки сценариев python, не выходящих из vim в системах * nix (выполнение script, настройка контрольных точек, отображение переменных в списке наблюдения и т.д.)?

4b9b3361

Ответ 1

Используйте pdb:

import pdb
def main():
  list = [1,2,3]
  pdb.set_trace()
  list = [2,3,4]

if __name__ == '__main__':
    main()

Теперь запустите с помощью :!python %, и вы попадете в точку останова и сможете отлаживать интерактивно, как в gdb.

Ответ 2

Попробуйте pyclewn. Он позволяет использовать vim в качестве переднего конца для pdb. Вы можете создавать/удалять точки останова, управлять потоком процесса отладки, просматривать значения ваших переменных. Все от vim!

Ответ 3

Vim и pdb-clone - это комбинация, которую я использую. Я использую Home - pyclewn, который обеспечивает замену pdb, называемого pdb-clone, который работает быстрее, чем vanilla pdb. Он хорошо интегрируется с vim через плагин, и то, что я ценю больше всего, это то, что он заботится о контрольных точках вне кода, не устанавливая трассировки внутри, таким образом, не испортил номера моей линии. У него еще нет окна просмотра для python. Возможно, вы можете взглянуть на vim-debug, с которым я не мог работать с существующей настройкой выделения.

Ответ 4

Также попробуйте https://pypi.python.org/pypi/pudb - это похоже на pdb, но более продвинутый. Содержит подсветку кода, стек, отображение доступных значений и т.д. Решение не только vim, но и для меня отлично работает.

Три шага:

Установка:

pip install pudb

Вставить set_trace в код

из pudb import set_trace; set_trace()

Запустите свой код

Ответ 5

См. раздел "Отладка" в этот пост в блоге. Он показывает, как настроить F7 для установки точек останова и Shift + F7 для удаления контрольных точек. Он также использует pdb, как упоминалось ранее. С небольшим изменением вы можете заменить pdb на ipdb (pdbс помощью ipython), который гораздо приятнее использовать.

Ответ 6

Похоже, вы хотите использовать VIM в качестве среды разработки на Python.

Быстрый поиск в Google this и this например, со многими другими.

EDIT: Ну, ладно, похоже, вы искали больше, чем я.

Я надеюсь, что у кого-то есть некоторые идеи.

Ответ 7

Из того, что я знаю, есть еще один вариант: вы можете использовать Eclipse + PyDev для управления проектами и Vim в качестве редактора для Eclipse. Таким образом, вы могли бы использовать лучшее из обоих миров.

Кроме того, я не пробовал, но вы можете попробовать этот script.