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