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

Материал из GIS-Lab
(Различия между версиями)
Перейти к: навигация, поиск
(Предварительные настройки)
(Предварительные настройки)
Строка 16: Строка 16:
 
Для возможности использовать удаленную отладку необходимо установить пакет 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.
+
Пакет pydevd распространяется вместе с PyCharm. Обычно файл pycharm-debug.egg (pycharm-debug-py3k.egg если использвется Python 3)  находится в корневой директории установки PyCharm. Установить пакет можно различными способами. Наиболее простой - с помощью easy_install или pip:
 +
 
 +
<pre>Для Linux</pre
 +
<syntaxhighlight lang="bash">
 +
sudo easy_install ~/Soft/pycharm-3.4.1/pycharm-debug.egg
 +
</syntaxhighlight>
  
 
== Настройка проекта ==
 
== Настройка проекта ==

Версия 10:16, 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. Установить пакет можно различными способами. Наиболее простой - с помощью easy_install или pip:

Для Linux</pre
<syntaxhighlight lang="bash">
sudo easy_install ~/Soft/pycharm-3.4.1/pycharm-debug.egg
</syntaxhighlight>

== Настройка проекта ==

== Выбор места установки точки останова ==

== Запуск отладки ==

== Ссылки по теме ==
[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]
Персональные инструменты
Пространства имён

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