Существуют ли способы отладки сценариев Python, не покидающих vim в системах * nix (выполнение сценария, установка точек останова, отображение переменных в списке наблюдения и т. Д.)?
Использование pdb :
import pdb def main(): list = [1,2,3] pdb.set_trace() list = [2,3,4] if __name__ == '__main__': main()
Теперь запустите, используя :!python %, и вы достигнете своей точки останова и сможете интерактивно отлаживать, как в gdb .
:!python %
Попробуйте pyclewn . Это позволяет использовать vim в качестве внешнего интерфейса для pdb. Вы можете создавать / удалять точки останова, контролировать ход процесса отладки, просматривать значения ваших переменных. Все от vim!
Также попробуйте https://pypi.python.org/pypi/pudb - это как pdb, но более продвинутый. Содержит подсветку кода, стек, отображение доступных значений и т. Д. Идеально подходит не только решение vim, но и для меня.
Три шага:
Установка:
pip install pudb
Вставить set_trace в код
из pudb import set_trace; set_trace ()
Запустите ваш код
Vim и pdb-clone - это комбинация, которую я использую. Я использую Home - pyclewn , который обеспечивает замену pdb под названием pdb-clone, который работает намного быстрее, чем vanilla pdb. Он хорошо интегрируется с vim через плагин, и больше всего я ценю то, что он заботится о точках останова вне кода, а не устанавливает трассировки внутри, таким образом, не путая мои номера строк. У него еще нет окна наблюдения за питоном. Вы также можете взглянуть на vim-debug , который я не смог найти в моей существующей настройке подсветки.
Плагин vimpdb интегрирует отладчик Python pdb в редактор VIM.
pdb
Я рекомендую.
Надеюсь, это поможет.
См. Раздел «Отладка» в этом сообщении в блоге. В нем показано, как настроить F7 для установки точек останова и Shift + F7 для удаления точек останова. Он также использует pdb, как упоминалось ранее. С небольшой модификацией вы можете заменить использование pdb на ipdb (pdb с использованием ipython ), что намного удобнее в использовании.
ipdb
Из того, что я знаю, есть еще один вариант: вы можете использовать Eclipse + PyDev для управления проектами и Vim в качестве редактора для Eclipse. Таким образом, вы можете использовать лучшее из обоих миров.
Кроме того, я не пробовал, но вы можете попробовать этот скрипт .
Похоже, вы хотите использовать VIM в качестве Python IDE.
Быстрый поиск Google нашел этот и этот пример, и многие другие.
РЕДАКТИРОВАТЬ: Ну, ладно, похоже, вы искали больше, чем я.
Надеюсь, у кого-то еще есть идеи.