update qgis bootstrap

This commit is contained in:
DmsAnhr 2025-11-25 16:12:20 +07:00
parent caee8dec3c
commit 6957393caf

View File

@ -1,45 +1,3 @@
# 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
# 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()
# qgs.processingRegistry().addProvider(QgsNativeAlgorithms())
# return qgs
import os
import sys
@ -60,20 +18,23 @@ os.environ["QT_PLUGIN_PATH"] = "/usr/lib/x86_64-linux-gnu/qt5/plugins"
# Put QGIS bin into PATH
os.environ["PATH"] = "/usr/bin:" + os.environ.get("PATH", "")
# Python paths
sys.path.append("/usr/lib/python3/dist-packages")
sys.path.append("/usr/lib/python3/dist-packages/qgis")
sys.path.append("/usr/lib/python3/dist-packages/qgis/plugins")
sys.path.append("/usr/lib/qgis")
sys.path.append("/usr/lib/qgis/plugins")
# Python path milik QGIS (WAJIB ditambahkan SEBELUM import processing)
QGIS_PYTHON_PATHS = [
"/usr/lib/python3/dist-packages",
"/usr/lib/python3/dist-packages/qgis",
"/usr/lib/python3/dist-packages/qgis/plugins",
"/usr/lib/qgis",
"/usr/lib/qgis/plugins",
"/usr/lib/python3/dist-packages/PyQt5",
]
# Optional but recommended on headless servers
sys.path.append("/usr/lib/python3/dist-packages/PyQt5")
for p in QGIS_PYTHON_PATHS:
if p not in sys.path:
sys.path.insert(0, p)
# QGIS imports
# Setelah sys.path benar → Baru import QGIS & Processing
from qgis.core import QgsApplication
from qgis.analysis import QgsNativeAlgorithms
import processing
from processing.core.Processing import Processing
@ -85,4 +46,4 @@ def start_qgis():
Processing.initialize()
qgs.processingRegistry().addProvider(QgsNativeAlgorithms())
return qgs
return qgs