QGIS 插件開發Debug教程——使用Pycharm


參考文章:Remote Debugging Guide for Python

PyQGIS CookBook 16.4. IDE settings for writing and debugging plugins

Remote Debugging with PyCharm

一、檢查Pycharm版本

Eclipse+Pydev使用的是pydev進行調試,在Pycharm中我們依然可以使用pydev進行調試。根據Jetbrains的官方文檔,Pycharm Community版本不支持Remote Debug。如果想要使用Pycharm的遠程調試功能調用Pydev包進行調試,就需要安裝Professional版本

JetBrains全家桶提供了學生授權供學生免費使用。只要使用武大的郵箱在其官網注冊一個賬號,然后申請學生授權就可以免費使用JetBrains的所有產品。

參考:https://jingyan.baidu.com/article/acf728fd862d44f8e510a385.html

二、為Python解釋器安裝pydevd-pycharm庫

首先在Run/Debug Configurations中選擇edit configurations,打開編輯頁面。

image-20200927211512756

點擊+號,選擇添加一個Python Debug Server

image-20200927211642442

根據右側的提示,記住需要安裝的pydevd-pycharm庫的版本號,我這里是202.7319.64

然后設置IDE host name為localhost或者127.0.0.1,端口Port設置為53100

2020-09-24_16-55

打開菜單欄的File->Settings,選擇Python Interpreter,可以看到我們之前配置好的Python環境(QGIS自帶的python環境)

image-20200927212058926

點擊旁邊的+號,打開Package添加頁面,搜索pydevd-pycharm包。

勾選Specify version,並選擇之前我們記住的版本號,202.7319.64。點擊Install Package安裝pydevd-pycharm包。

2020-09-24_16-54

三、調試QGIS插件

2020-09-24_22-39

在需要調試的python模塊中引入pydevd-pycharm包

import pydevd_pycharm

並根據需要調試的位置,編寫如下語句

# 其中的'localhost'和port是在Python Debug Server中填寫的值
pydevd_pycharm.settrace('localhost', port=53100, stdoutToServer=True, stderrToServer=True)

該語句相當於一個斷點,執行調試的時候會首先在該語句的位置停止,然后才能繼續執行代碼。

在Pycharm中點擊Debug按鈕,控制台中會提示正在等待連接

2020-09-24_22-37

現在打開QGIS,使用Plugin Reloader重新加載我們編寫的插件,然后運行插件

image-20200927214125148

此時,對插件進行操作,就會在我們調用pydevd_pycharm.settrace()的位置停下來(可以看到控制台中已經顯示連接到了pydev debugger),就下來就能夠使用pycharm的斷點調試工具進行正常的調試了。

2020-09-24_22-56


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM