Отладка QGIS расширения в PyCharm: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 15: | Строка 15: | ||
Для возможности использовать удаленную отладку необходимо установить пакет pydevd в тот PYTHONPATH, с которым запускается QGIS. В общем случае это директория site-package системного Python (в случае использования OSGEO4W или нестандартной установки необходимо выбирать соответствующий интерпретатор\директорию установки). | Для возможности использовать удаленную отладку необходимо установить пакет pydevd в тот PYTHONPATH, с которым запускается QGIS. В общем случае это директория site-package системного Python (в случае использования OSGEO4W или нестандартной установки необходимо выбирать соответствующий интерпретатор\директорию установки). | ||
Пакет pydevd распространяется вместе с PyCharm. Обычно файл pycharm-debug.egg (pycharm-debug-py3k.egg если использвется Python 3) находится в корневой директории установки PyCharm. | |||
== Настройка проекта == | == Настройка проекта == | ||
Строка 22: | Строка 24: | ||
== Запуск отладки == | == Запуск отладки == | ||
== | == Ссылки по теме == | ||
[http://linfiniti.com/2011/12/remote-debugging-qgis-python-plugins-with-pydev/ Remote debugging QGIS python plugins with PyDev] | |||
[http://linfiniti.com/2012/09/remote-debugging-qgis-plugins-using-pycharm/ Remote debugging QGIS plugins using PyCharm] |
Версия от 11:09, 27 ноября 2014
В данной заметке описан один из способов отладки кода расширения QGIS в среде разработки JetBrains PyCharm версии 3.4 и выше
Описание проблемы
При разработке расширений QGIS на python не редко встает проблема отладки кода. К сожалению, для отладки модуля в "родном окружении" необходимо запустить QGIS, который и загрузит разрабатываемое расширение в своем процессе. При этом режим интерактивной отладки из среды разработки(IDE) становится недоступным, так как код расширения запущен не в режиме отладки (pdb), а в стандартном процессе-интерпретаторе Python.
Для того, что бы иметь возможность отлаживать части кода в IDE можно воспользоваться механизмом Remote Debug (удаленная отладка). В этом случае, код, выполняемый в другом процессе, может сам инициировать остановку исполнения и передать управление другому процессу, например нашей IDE.
Этим способом можно воспользоваться в различных IDE. В заметке описывается вариант для PyCharm версии 3.4 или выше.
Предварительные настройки
Предполагается, что PyCharm и QGIS уже установлены и настроены.
Так же, для удобства отладки желательно установить QGIS расширение Plugin Reloader. Этот модуль позволяет перезагружать разрабатываемое расширение, например в следствии изменения кода, без перезапуска самого QGIS.
Для возможности использовать удаленную отладку необходимо установить пакет pydevd в тот PYTHONPATH, с которым запускается QGIS. В общем случае это директория site-package системного Python (в случае использования OSGEO4W или нестандартной установки необходимо выбирать соответствующий интерпретатор\директорию установки).
Пакет pydevd распространяется вместе с PyCharm. Обычно файл pycharm-debug.egg (pycharm-debug-py3k.egg если использвется Python 3) находится в корневой директории установки PyCharm.
Настройка проекта
Выбор места установки точки останова
Запуск отладки
Ссылки по теме
Remote debugging QGIS python plugins with PyDev Remote debugging QGIS plugins using PyCharm