Отладка QGIS расширения в PyCharm

Материал из GIS-Lab
(Различия между версиями)
Перейти к: навигация, поиск
(Ссылки по теме)
Строка 26: Строка 26:
 
== Ссылки по теме ==
 
== Ссылки по теме ==
 
[http://linfiniti.com/2011/12/remote-debugging-qgis-python-plugins-with-pydev/ Remote debugging QGIS python plugins with PyDev]
 
[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]
 
[http://linfiniti.com/2012/09/remote-debugging-qgis-plugins-using-pycharm/ Remote debugging QGIS plugins using PyCharm]

Версия 10: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

Персональные инструменты
Пространства имён

Варианты
Действия
Статьи
Спецпроекты
Инструменты