1. 程式人生 > 實用技巧 >QGIS 3.14外掛開發——Win10系統PyCharm開發環境搭建四步走

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,外掛欄選擇管理並安裝外掛。

在已安裝的外掛中找到並勾選我們的外掛,然後執行我們的外掛即可。