update path bootstrap

This commit is contained in:
DmsAnhr 2025-12-01 09:17:31 +07:00
parent 7c6f3abf6e
commit 3373521f53

View File

@ -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 os
import sys import sys
QGIS_APP = "/Applications/QGIS-LTR.app/Contents" # QGIS environment
QGIS_PREFIX = f"{QGIS_APP}/Resources" os.environ["QGIS_PREFIX_PATH"] = "/usr"
os.environ["QGIS_HOME"] = "/usr"
# ==== FIX VERY IMPORTANT ==== os.environ["PROJ_LIB"] = "/usr/share/proj"
os.environ["QGIS_PREFIX_PATH"] = QGIS_PREFIX os.environ["GDAL_DATA"] = "/usr/share/gdal"
os.environ["PROJ_LIB"] = f"{QGIS_PREFIX}/proj" os.environ["QT_PLUGIN_PATH"] = "/usr/lib/x86_64-linux-gnu/qt5/plugins"
os.environ["GDAL_DATA"] = f"{QGIS_PREFIX}/gdal"
os.environ["QT_PLUGIN_PATH"] = f"{QGIS_PREFIX}/plugins"
# =============================
os.environ["QT_QPA_PLATFORM"] = "offscreen" os.environ["QT_QPA_PLATFORM"] = "offscreen"
# Python path # QGIS Python plugins (THIS IS THE MISSING PART)
sys.path.append(f"{QGIS_PREFIX}/python") sys.path.append("/usr/share/qgis/python")
sys.path.append(f"{QGIS_PREFIX}/python/plugins") 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.core import QgsApplication, QgsProviderRegistry
from qgis.analysis import QgsNativeAlgorithms from qgis.analysis import QgsNativeAlgorithms
import processing import processing
from processing.core.Processing import Processing from processing.core.Processing import Processing
def start_qgis(): def start_qgis():
qgs = QgsApplication([], False) qgs = QgsApplication([], False)
qgs.initQgis() qgs.initQgis()
# === WAJIB: initialize processing ===
Processing.initialize() Processing.initialize()
QgsProviderRegistry.instance() QgsProviderRegistry.instance()
qgs.processingRegistry().addProvider(QgsNativeAlgorithms()) qgs.processingRegistry().addProvider(QgsNativeAlgorithms())
return qgs return qgs