1、配置环境变量。反正将很多路径都加入。这样才能识别
qgis.core等核心模块
2、在pycharm中配置python解释器。配置Qgis安装自带的解释器(图示3.9)
3、使用processing模块。按照如下方式引入,测试可用。
import sys
sys.path.append(r'C:\\Program Files\\QGIS 3.34.1\\apps\\qgis\\python\\plugins')
from processing.core.Processing import Processing
Processing.initialize()
import processing
但pycharm还是会红色提示找不到processing.core.Processing 模块,但可以不管,测试确实可运行。
完整代码如下:参考了【QGIS】在Pycharm中使用pyqgis中的processing工具箱功能_qgis from processing.core.processing import proces-优快云博客
from qgis.core import *
import sys
sys.path.append(r'C:\\Program Files\\QGIS 3.34.1\\apps\\qgis\\python\\plugins')
from processing.core.Processing import Processing
Processing.initialize()
import processing
# 加载道路
path_to_roads = r'./data/input/shp/地块.shp'
out_path_to_roads = r'./data/output/buffer.shp'
roads = QgsVectorLayer(path_to_roads, "roads", "ogr")
# 配置道路缓冲区参数
parameter_dictionary_road = {
'INPUT': roads,
'DISTANCE': 50,
'SEGMENTS': 5,
'DISSOLVE': True,
'OUTPUT': out_path_to_roads,
'END_CAP_STYLE': 0,
'JOIN_STYLE': 0,
'MITER_LIMIT': 10
}
roads_buffer = processing.run("native:buffer", parameter_dictionary_road)
print('缓冲区创建成功')
from qgis.core import *
from qgis.core import QgsProcessing
from qgis.core import QgsProcessingAlgorithm
from qgis.core import QgsProcessingMultiStepFeedback
from qgis.core import QgsProcessingParameterRasterDestination
import sys
# Supply path to qgis install location
QgsApplication.setPrefixPath("D:\qgis", True)
# import processing
#
# # Create a reference to the QgsApplication. Setting the
# # second argument to False disables the GUI.
qgs = QgsApplication([], False)
#
# # Load providers
qgs.initQgis()
# Write your code here to load some layers, use processing
# algorithms, etc.
sys.path.append(r"D:\qgis\apps\qgis-ltr\python\plugins")
import processing
qgs.exitQgis()