From 3373521f53f7292f3035d8fa92ccb816d6ba5ee1 Mon Sep 17 00:00:00 2001 From: DmsAnhr Date: Mon, 1 Dec 2025 09:17:31 +0700 Subject: [PATCH] update path bootstrap --- qgis_bootstrap.py | 71 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 56 insertions(+), 15 deletions(-) diff --git a/qgis_bootstrap.py b/qgis_bootstrap.py index a9962e0..ea9822b 100644 --- a/qgis_bootstrap.py +++ b/qgis_bootstrap.py @@ -1,35 +1,76 @@ +# 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 + + + + + + +# DEPLOYMENT import os import sys -QGIS_APP = "/Applications/QGIS-LTR.app/Contents" -QGIS_PREFIX = f"{QGIS_APP}/Resources" +# QGIS environment +os.environ["QGIS_PREFIX_PATH"] = "/usr" +os.environ["QGIS_HOME"] = "/usr" -# ==== 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["PROJ_LIB"] = "/usr/share/proj" +os.environ["GDAL_DATA"] = "/usr/share/gdal" +os.environ["QT_PLUGIN_PATH"] = "/usr/lib/x86_64-linux-gnu/qt5/plugins" os.environ["QT_QPA_PLATFORM"] = "offscreen" -# Python path -sys.path.append(f"{QGIS_PREFIX}/python") -sys.path.append(f"{QGIS_PREFIX}/python/plugins") +# QGIS Python plugins (THIS IS THE MISSING PART) +sys.path.append("/usr/share/qgis/python") +sys.path.append("/usr/share/qgis/python/plugins") + +# Python modules (from system) +sys.path.append("/usr/lib/python3/dist-packages") +sys.path.append("/usr/lib/python3/dist-packages/qgis") + 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