отладка скриптов vim и python - PullRequest
       8

отладка скриптов vim и python

32 голосов
/ 14 декабря 2009

Существуют ли способы отладки сценариев Python, не покидающих vim в системах * nix (выполнение сценария, установка точек останова, отображение переменных в списке наблюдения и т. Д.)?

Ответы [ 8 ]

35 голосов
/ 14 декабря 2009

Использование pdb :

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

if __name__ == '__main__':
    main()

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

7 голосов
/ 01 марта 2012

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

5 голосов
/ 23 мая 2014

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

Три шага:

Установка:

pip install pudb

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

из pudb import set_trace; set_trace ()

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

1 голос
/ 13 августа 2013

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

0 голосов
/ 31 декабря 2018

Плагин vimpdb интегрирует отладчик Python pdb в редактор VIM.

Я рекомендую.

Надеюсь, это поможет.

0 голосов
/ 15 декабря 2009

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

0 голосов
/ 14 декабря 2009

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

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

0 голосов
/ 14 декабря 2009

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

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

РЕДАКТИРОВАТЬ: Ну, ладно, похоже, вы искали больше, чем я.

Надеюсь, у кого-то еще есть идеи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...