import os import sys QGIS_APP = "/Applications/QGIS-LTR.app/Contents" QGIS_PREFIX = f"{QGIS_APP}/Resources" # ==== FIX VERY IMPORTANT ==== os.environ["QGIS_PREFIX_PATH"] = QGIS_PREFIX os.environ["PROJ_LIB"] = f"{QGIS_PREFIX}/proj" os.environ["GDAL_DATA"] = f"{QGIS_PREFIX}/gdal" os.environ["QT_PLUGIN_PATH"] = f"{QGIS_PREFIX}/plugins" # ============================= os.environ["QT_QPA_PLATFORM"] = "offscreen" # Python path sys.path.append(f"{QGIS_PREFIX}/python") sys.path.append(f"{QGIS_PREFIX}/python/plugins") from qgis.core import QgsApplication, QgsProviderRegistry from qgis.analysis import QgsNativeAlgorithms import processing from processing.core.Processing import Processing def start_qgis(): qgs = QgsApplication([], False) qgs.initQgis() # === WAJIB: initialize processing === Processing.initialize() QgsProviderRegistry.instance() qgs.processingRegistry().addProvider(QgsNativeAlgorithms()) return qgs