QGIS 3.14外掛開發——Win10系統PyCharm開發環境搭建四步走
前言:最近實習要求做一個QGIS外掛,網上關於QGIS 3.14外掛開發環境搭建的文件不多,而且也不算太全面。正好實習的時候寫了一個文件,在這裡給大家分享一下。
因為是Word轉的Markdown,可能文章格式略有問題,不過沒關係啦(。)
一、PyQGIS安裝
在windows系統下,QGIS安裝包會自動安裝PyQGIS模組,本文以windows系統進行講解。
實際上,如果使用新版本的QGIS for
Linux或Mac也會安裝PyQGIS,可以參考QGIS官方文件。
二、Python環境變數配置
(1)配置Path
配置Python環境變數主要是為了從命令列執行python和呼叫pyqgis庫。
先設定系統變數path,最好是放到最前面,防止被其他地方安裝的python覆蓋,如:
操作過程如系列圖:此電腦(右鍵)—―屬性→系統——高階系統設定→系統屬性——環境變數→環境變數|系統變數
在系統變數中找到Path,點選編輯
新增環境變數:
D:\QGIS 3.14\bin
D:\QGIS 3.14\apps\qgis\bin
D:\QGIS 3.14\apps\Qt5\bin
(其中D:\QGIS 3.14 是你QGIS的安裝位置)
(2)配置PYTHONPATH
PYTHONPATH主要是為了讓Python能夠找到PyQGIS的各種依賴模組,保證正常使用。
在系統變數中點選新建,新增名為PYTHONPATH系統變數。
變數值設定為:
D:\QGIS 3.14\apps\Python37;
D:\QGIS 3.14\apps\qgis\bin;
D:\QGIS3.14\apps\qgis\python;
D:\QGIS 3.14\apps\Python37\lib;
D:\QGIS 3.14\apps\Python37\Lib\site-packages;
D:\QGIS 3.14\apps\Python37\DLLs;
D:\QGIS 3.14\apps\Python37\Scripts;
(其中D:\QGIS 3.14是你的qgis安裝路徑,python37是qgis自帶python的版本)
、
(3)檢查環境變數配置是否成功
Win+r 開啟執行視窗,輸入cmd啟動命令提示行
輸入python3或者python,執行python。該python版本應為qgis自帶python版本。
然後輸入:
import qgis.core
import qgis.user
import qgis.gui
import console
沒有提示錯誤即為配置成功
三、使用QGIS構建外掛專案
外掛安裝和構建外掛專案的流程如下:
(1) 外掛安裝
開啟QGIS,外掛——
因為我們後面使用PyCharm開發,QGIS中Remote Debug這個工具可有可無。
(2)外掛路徑設定
在QGIS的設定-選項-系統中,找到環境一欄,勾選“使用自定義變數”,新增外掛工作區路徑。之後的外掛需要生成到這個路徑下,QGIS才能自動識別到。
例如我設定為:E:\QGIS_plugin_develop
(3)建立外掛
https://www.osgeo.cn/qgisdoc/docs/pyqgis_developer_cookbook/plugins/index.html
建立外掛工程
重新啟動QGIS
這裡的Class name是外掛的類名,Plugin name是你的外掛名,Moule
name是python模組的名稱。如果只是開發練習,後面那些亂七八糟的隨便填就好。
如果不想釋出外掛,只做練習使用,這裡建議大家勾選Flag the plugin as
experimental選項
這裡選擇之前設定的外掛工作區的路徑,自動生成的外掛模板就會放置於該目錄下。
:
為了避免不必要的麻煩。外掛生成完畢後,先不要載入外掛,否則會提示缺少:
resources.py 檔案
如果彈出以下對話方塊,也暫時先不管,咱們之後再處理。
這樣外掛專案模板建立好了,可以在剛才我們建立的目錄下檢視
四、搭建PyCharm開發環境
PyCharm有兩種版本,一種是免費的Community版,一種是Professional版。
其中Pycharm Community版本不支援Remote
Debug。如果想要使用Pycharm的遠端除錯功能呼叫Pydev包(Pydevd-pycharm)進行除錯,就需要安裝Professional版本。
JetBrains全家桶提供了學生授權供學生免費使用。只要使用大學的郵箱在其官網註冊一個賬號,然後申請學生授權就可以免費使用JetBrains的所有產品。
參考:https://jingyan.baidu.com/article/acf728fd862d44f8e510a385.html
當然,如果覺得自己不需要用到除錯功能,下載Community版本也可。下面以Community版本講解PyCharm的環境搭建。Professional版本的搭建過程也是一樣的。
安裝Pycharm Community流程,如下:
(1) 下載
官方網站 https://www.jetbrains.com/pycharm/
選擇儲存後,等待下載。
找到下載檔案
(2)安裝
雙擊安裝檔案。
選擇安裝目錄,Pycharm需要的記憶體較多,建議將其安裝在D盤或者E盤,不建議放在系統盤C盤:
create desktop
shortcut(建立桌面快捷方式):系統32位就選32-bit,系統64位就選64-bit。現在大多數都是64位了,不清楚系統型別:我的電腦=》右鍵=》屬性
update path variable(restart needed)更新路徑變數(需要重新啟動):add launchers
dir to the path(將啟動器目錄新增到path中)。這裡我建議大家新增到環境變數PATH。
update context menu(更新上下文選單):add open folder as
project(新增開啟資料夾作為專案)。可以不選。
create associations 建立關聯:關聯.py檔案,雙擊都是以pycharm開啟。
(3)PyCharm python直譯器設定
開啟安裝好的PyCharm:
設定UI顏色
直接下一步即可
這裡選擇Open開啟我們之前生成外掛專案。然後File-Settings開啟設定
開啟設定後,找到python interpreter,點選右上角的設定Add
選擇System Interpreter(這裡不推薦大家自己構建虛擬環境),新增Python直譯器:
D:\QGIS 3.14\apps\Python37\python.exe
(其中D:\QGIS 3.14是你的安裝路徑)
可以看到,PyCharm已經幫我們把相關的包引入進來了
(4)安裝擴充套件工具
在Settings中選擇Tools開啟External Tools頁面,點選+號新增擴充套件工具。
新增QtDesigner,用於編輯UI
Name:QtDesigner
Program:D:\QGIS 3.14\apps\Qt5\bin\designer.exe
Working directory:你的外掛專案的目錄
新增PyUIC(UI轉換工具),用於將ui轉換為py模組
Name:Pyuic
Program:D:\QGIS 3.14\apps\Python37\Scripts\pyuic5.bat
Arguments: $FileName$ -o $FileNameWithoutExtension$.py
Working directory:你的外掛專案的目錄
(其中Arguments相當於一段控制檯命令,是呼叫pyuic5.bat的引數)
新增PyRCC(資源轉換工具),用於將qrc轉換為py模組
Name:Pyrcc
Program:D:\QGIS 3.14\apps\Python37\Scripts\pyrcc5.bat
Arguments: $FileName$ -o $FileNameWithoutExtension$.py
Working directory:你的外掛專案的目錄
(這裡的Arguments也是同樣的道理)
(5)建立resources.py和圖形介面py檔案
建立圖形介面py檔案:
找到專案目錄下,副檔名為ui的檔案(檔名根據你設定的外掛模組名有所不同),右鍵External
Tools-Pyuic執行擴充套件工具
沒有報錯,並且在專案目錄下出現同名的py檔案則為轉換成功。
同理,對resources.rcc的檔案,右鍵選擇右鍵External Tools-Pyrcc
(6)執行外掛
萬事俱備,開啟QGIS,外掛欄選擇管理並安裝外掛。
在已安裝的外掛中找到並勾選我們的外掛,然後執行我們的外掛即可。