一 前言 由于國(guó)內(nèi)外最新版本的PyQGIS環(huán)境配置文檔少而不全,舊版本文檔坑太多,官方文檔簡(jiǎn)單而無(wú)用。由于Python、QT、PyQGIS涉及的庫(kù)/包比較多,難免環(huán)境變量配置漏洞百出。筆者花了將近一周時(shí)間摸石過(guò)河,最后從QGIS本身著手,在Python控制臺(tái)通過(guò)os模塊獲取環(huán)境變量,然后在批處理文件中設(shè)置。 為避免大家踩坑,將配置步驟記述如下。 二 安裝QGIS 在windows中安裝QGIS的64位msi獨(dú)立安裝包。 本人安裝版本為QGIS 3.16.15版,安裝位置為D:\Program Files\QGIS 3.16.15 三 安裝Pycharm 下載安裝PyCharm社區(qū)版2021.3(社區(qū)版免費(fèi)無(wú)需破解功能夠用)。安裝位置為 D:\ProgramFiles\JetBrains\PyCharmCommunityEdition2021.3 四 批處理命令文件 在QGIS安裝目錄下編寫(xiě)批處理文件:PyCharm_PyQGIS.bat Title PyGIS_CMD set OSGEO4W_ROOT=D:\PROGRA~1\QGIS31~1.15 call "%OSGEO4W_ROOT%"\bin\o4w_env.bat call "%OSGEO4W_ROOT%"\apps\grass\grass78\etc\env.bat set GISBASE=%OSGEO4W_ROOT%\apps\grass\grass78 set GRASS_PROJSHARE=%OSGEO4W_ROOT%\share\proj set GRASS_PYTHON=%OSGEO4W_ROOT%\bin\python3.exe set O4W_QT_BINARIES=%OSGEO4W_ROOT%\apps\Qt5\bin set O4W_QT_HEADERS=%OSGEO4W_ROOT%\apps\Qt5\include set O4W_QT_LIBRARIES=%OSGEO4W_ROOT%\apps\Qt5\lib set O4W_QT_PLUGINS=%OSGEO4W_ROOT%\apps\Qt5\plugins set O4W_QT_PREFIX=%OSGEO4W_ROOT%\apps\Qt5 set O4W_QT_TRANSLATIONS=%OSGEO4W_ROOT%\apps\Qt5\translations set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis-ltr set QGIS_WIN_APP_NAME=QGIS3.16\QGISDesktop3.16.15 set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis-ltr\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins set VSI_CACHE=TRUE set VSI_CACHE_SIZE=1000000 set PYTHONPATH=%OSGEO4W_ROOT%\bin set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis-ltr\bin set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis-ltr\python set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\Qt5\bin set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\Qt5\lib set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\grass\grass78\lib set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\grass\grass78\bin set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\Python39\lib set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\Python39\lib\site-packages set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\Python39\DLLs; set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\Python39\Scripts set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python39 set PYCHARMCOMMUNITYEDITION=D:\ProgramFiles\JetBrains\PyCharmCommunityEdition2021.3\bin; path %PATH%;%OSGEO4W_ROOT%\bin; path %PATH%;%OSGEO4W_ROOT%\apps\qgis-ltr\bin; path %PATH%;%OSGEO4W_ROOT%\apps\qgis-ltr\python\qgis path %PATH%;%OSGEO4W_ROOT%\apps\qgis-ltr\qtplugins path %PATH%;%OSGEO4W_ROOT%\apps\qgis-ltr\python\PyQt5 path %PATH%;%OSGEO4W_ROOT%\apps\grass\grass78\lib; path %PATH%;%OSGEO4W_ROOT%\apps\grass\grass78\bin; path %PATH%;%OSGEO4W_ROOT%\apps\qt5; path %PATH%;%OSGEO4W_ROOT%\apps\qt5\bin; path %PATH%;%OSGEO4W_ROOT%\apps\qt5\lib; path %PATH%;%OSGEO4W_ROOT%\apps\Python39\Scripts; path %PATH%;%OSGEO4W_ROOT%\apps\Python39\lib; path %PATH%;%OSGEO4W_ROOT%\apps\Python39\DLLs; path %PATH%;%OSGEO4W_ROOT%\apps\Python39\lib\site-packages start "PyCharm aware of Quantum GIS" /B "D:\Program Files\JetBrains\PyCharm Community Edition 2021.3\bin\pycharm64.ex
批處理最后一行啟動(dòng)pycharm。根據(jù)需要可以改為cmd.exe。則打開(kāi)python pyqgis運(yùn)行環(huán)境CMD窗口,執(zhí)行python、pip等命令。因此無(wú)需在系統(tǒng)高級(jí)設(shè)置PythonHome、PythonPath環(huán)境變量及添加包含Python在內(nèi)的Path路徑。 四 PyCharm配置Python解釋器 創(chuàng)建Python新項(xiàng)目,【settings】-【Project-XX】-【Python Interpreter】,設(shè)置按鈕[add],在Base Interpreter中選擇<QGIS安裝目錄>\bin\python-qgis-ltr.bat,作為Python解釋器 配置完成后,正常情況則顯示: 五 PyCharm配置PyQGIS的QT設(shè)計(jì)器 QGIS安裝后帶有包含QGIS組件的QT設(shè)計(jì)器,使用十分方便。因此需配置QT設(shè)計(jì)器和UI轉(zhuǎn)換工具。 在【Files】-【Settings】窗口【Tools】-【External Tools】中添加QT設(shè)計(jì)器和UI轉(zhuǎn)換工具。 點(diǎn)擊添加按鈕,彈出工具窗口。填寫(xiě)工具名稱,在Program下拉框選擇<QGIS安裝目錄>\bin\qgis-ltr-designer.bat,工作目錄為工作目錄為$ProjectFileDir$(項(xiàng)目文件目錄變量)。完成后點(diǎn)擊OK按鈕 添加PYUIC工具,方法同上: program 選擇<QGIS安裝目錄>\bin\python3.exe,參數(shù)填寫(xiě)為: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py 工作目錄為$ProjectFileDir$ 六 測(cè)試 根據(jù)官方代碼,添加引用PyQT5 ,編輯過(guò)程無(wú)錯(cuò)誤提示,運(yùn)行代碼未報(bào)錯(cuò),則說(shuō)明配置成功。
qgis.core *
PyQt5 *
os
QgsApplication.setPrefixPath()
qgs = QgsApplication([])
qgs.initQgis()
qgs.exitQgis()
qgs.exitQgis()
在【tools】-【extranal tools】中執(zhí)行QT設(shè)計(jì)器命令,打開(kāi)正常情況如下: 保存ui文件到項(xiàng)目目錄,選擇ui文件,tools】-【extranal tools】執(zhí)行PyUIC。則在項(xiàng)目目錄生成py文件,如圖untitled.ui生成untitled.py 至此大功告成!
|