前言:最近實習要求做一個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,插件欄選擇管理並安裝插件。
在已安裝的插件中找到並勾選我們的插件,然后運行我們的插件即可。