QGIS3.10配置python外掛開發環境
本文內容為QGIS3.x以上版本在windows下進行python外掛開發環境及除錯環境的配置,詳細描述如何使用Eclipse + PyDev搭建PyQGIS外掛開發的除錯環境。官網中有相關的配置文件,但我想吐槽的是官網文件寫得很簡單而且挖了很多坑。本文是在官網的基礎上,同時借鑑別人寫的配置文件,再根據自己的環境部署進行編寫,更加詳細,意在填補官網文件挖的各式各樣的坑。
PyQGIS安裝
在windows系統下,QGIS安裝包會自動安裝PyQGIS模組,如果使用Linux或者Mac系統的話,則需要單獨安裝。(本文重點講述Windows系統,Linux和Mac系統環境配置請參見QGIS官方網站的幫助文件)
環境變數設定
1.PATH 變數的配置
使用OSGeo4W的,以下設定:
…\OSGeo4W64\apps\Python37;
…\OSGeo4W64\bin;
…\OSGeo4W64\apps\qgis\bin;
使用安裝包的,以下設定(本教程示例將使用安裝包方式):
…\QGIS 3.10\apps\Python37;
…\QGIS 3.10\bin;
…\QGIS 3.10\apps\qgis\bin;
先設定系統變數path,要把qgis目錄下的python37資料夾也放進去(切記要放到最前面,防止被其他地方安裝的python覆蓋),如圖:
需要注意的是,紅框內最上面的兩個路徑最好放在PATH變數的最前面,否則其他路徑下存在Python或者QGIS模組的話,會引起衝突。
2. PYTHONPATH 變數的配置
PYTHONPATH變數的配置是為了讓Python能夠找到PyQGIS的各種依賴模組,保證程式碼中的模組正常使用。
主要有幾個路徑需要配置(注意下面的路徑是你QGIS安裝的位置,如果不是,你需要自行更改)
D:\Program Files\QGIS 3.10\apps\Python37;
D:\Program Files\QGIS 3.10\apps\Python37\lib;
D:\Program Files\QGIS 3.10\apps\qgis-ltr\bin;
D:\Program Files\QGIS 3.10\apps\qgis-ltr\python;
D:\Program Files\QGIS 3.10\apps\qgis-ltr\python\qgis;
D:\Program Files\QGIS 3.10\apps\Python37\lib\site-packages;
D:\Program Files\QGIS 3.10\apps\Python37\DLLs;
這是我的本地環境截圖,供大家參考。
同樣,PYTHONHOME設定如下,注意那個路徑要設定到python37下,而不是qgis的bin下:
D:\Program Files\QGIS 3.10\apps\Python37\
環境配置檢查
完成了上述的配置之後,通過從命令列視窗輸入python,並import qgis.core, import qgis.user, import console等,如果沒有報錯,就說明環境配置好了。
反之,如果輸出找不到模組之類的錯誤,就應該繼續新增相應路徑到PYTHONPATH裡面。
按照上文所述的操作之後,基本上就可以開始編寫PyQGIS程式了。但是程式設計過程中,除錯是一個非常方便的工具,為了使用偵錯程式,我們需要用到eclipse+pydev。
PyDev外掛安裝與配置
首先下載並安裝Eclipse,在Eclipse的選單欄上選擇“Help -> Install New Software”。
在彈出視窗的“Work with”欄,填寫網址 http://www.pydev.org/updates 。有些版本的Eclipse可以直接選擇“Work with”這一欄的下拉按鈕,彈出PyDev的安裝網址。總之,填上就行。然後再彈出的資源裡面選擇“PyDev for Eclipse”就可以了,剩下的“PyDev for Eclipse Developer Resources”以及“PyDev Mylyn Integration”選擇性安裝即可,不是必須
需要注意的是,安裝需要Java 8的支援,否則裝上的PyDev外掛不會出現在選單欄上。
配置PyQGIS直譯器
開啟Eclipse,在選單欄中選擇“Window -> Preferences”,開啟選項配置視窗。
在選項配置視窗左邊樹形選單依次選擇 “PyDev -> Interpreters -> Python Interpreter”,在調出的Python Interpreters皮膚,單擊“New”按鈕,新建一個直譯器,並按照如下圖所示填寫QGIS安裝路徑下的 python.exe 位置。
然後,在Forced Builtins皮膚新建一個“qgis”變數,這樣在寫程式碼的時候會有QGIS庫的自動補全功能。
配置QGIS桌面端
qgis桌面端的配置主要包含2個部分,一個是安裝外掛,另一個是應用程式環境變數配置。
外掛安裝
要安裝除錯相關的外掛,必須現在QGIS外掛管理器中,開啟“啟用實驗外掛”這個選項,否則在外掛管理器中是看不到除錯相關的外掛的。
依次選擇QGIS選單欄“Plugins > Manage and Install Plugins”,在彈出的視窗中選擇“Settings > Show also experimental plugins”,如下圖:
接下來搜尋並安裝Remote Debug外掛和Reload外掛。其中,Remote Debug外掛是為了連線Eclipse進行遠端除錯的。而Reload外掛則是用於重新載入外掛,避免重啟QGIS來達到過載的目的。
應用程式執行環境配置(重點)
非常重要的一點是,要把PyDev外掛中的pysrc路徑加入到QGIS執行環境中。在我的的電腦上,這個路徑是:
D:\eclipse\plugins\org.python.pydev.core_7.6.0.202006041357\pysrc
這個應用程式執行環境可以在QGIS桌面端的“Settings > Options > System >
Environment”中配置,如下圖:
聯動除錯
在Eclipse中的右上角,點選箭頭所指圖示,新增Debug選項,open後就在右邊出現debug,點選它就會切換到除錯檢視。
在你的除錯程式碼中打上一個短點(這裡我把斷點打在了程式碼檔案的33行)。
選擇選單欄“PyDev -> Start Debug Server”,當Console視窗出現“Debug Server at port: xxxx”出現的時候,就表示當前除錯伺服器已經啟動了。
注意:有可能在PyDev裡找不到Start Debug Server,這是因為在Action Set Availability中沒有啟用PyDev Debug選項,選擇選單欄“Windows -> Customize Persperctive->Action Set Availability,勾選PyDev Debug,然後點選Apply and Close:
切換到QGIS軟體,選擇Remote Debug外掛,在pydevd path裡填上路徑:D:\eclipse\plugins\org.python.pydev.core_7.7.0.202008021154\pysrc
並單擊connect按鈕,當QGIS窗體彈出連線成功的訊息通知,就表示連線上除錯伺服器了。
這時候,單擊“Plugins -> HelloWorld”外掛,切換到Eclipse就會看到,程式碼在斷電處停下來了,接下來就可以使用Eclipse的除錯功能進行程式碼除錯了。
相關文章
- jupyter notebook外掛環境配置
- YonBuilder移動開發-移動原生外掛開發環境配置教程UI移動開發開發環境
- VSCode Python開發環境配置VSCodePython開發環境
- Python 外掛虛擬環境支援Python
- vs code配置Python開發環境Python開發環境
- HTML&CSS 開發環境搭建-VSCode 常用外掛安裝及配置HTMLCSS開發環境VSCode
- Python開發環境的安裝配置Python開發環境
- Python 開發環境搭建(04):pydev 配置Python開發環境dev
- 開發環境配置開發環境
- emacs開發環境配置(4)——rust開發環境Mac開發環境Rust
- 配置開發環境、生成環境、測試環境開發環境
- Ubuntu開發環境配置Ubuntu開發環境
- Java開發環境配置Java開發環境
- Arduino開發環境配置UI開發環境
- js開發環境配置JS開發環境
- react 配置開發環境React開發環境
- weex開發環境配置開發環境
- UG 2406 python 二次開發環境配置Python開發環境
- windows環境配置:同時安裝Python2.7和Python3.6開發環境WindowsPython開發環境
- 配置python環境Python
- 使用騰訊雲配置小程式Python開發環境Python開發環境
- Python開發環境詳細配置Anaconda---Linux篇Python開發環境Linux
- Python的開發環境Python開發環境
- Python IDE開發環境PythonIDE開發環境
- Vscode配置golang開發環境VSCodeGolang開發環境
- Android Studio配置開發環境Android開發環境
- MacOS 配置 Flutter 開發環境MacFlutter開發環境
- MacOS PHP 開發環境配置MacPHP開發環境
- Docker配置PHP開發環境DockerPHP開發環境
- VSCode配置JAVA開發環境VSCodeJava開發環境
- Mac 基本開發環境配置Mac開發環境
- 開發環境配置 - Linux(Ubuntu)開發環境LinuxUbuntu
- (二) electron 開發環境配置開發環境
- python下多環境開發(虛擬環境)Python
- PYTHON 實戰完整教程1-配置VSCode開發環境PythonVSCode開發環境
- 【Java】【SpringBoot】logback開發環境配置JavaSpring Boot開發環境
- 驅動篇——開發環境配置開發環境
- archlinux配置安卓開發環境Linux安卓開發環境