file_table_reader/qgis_bootstrap.py
2025-11-25 16:57:18 +07:00

75 lines
1.8 KiB
Python

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
# QGIS environment
os.environ["QGIS_PREFIX_PATH"] = "/usr"
os.environ["QGIS_HOME"] = "/usr"
os.environ["PROJ_LIB"] = "/usr/share/proj"
os.environ["GDAL_DATA"] = "/usr/share/gdal"
os.environ["QT_PLUGIN_PATH"] = "/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")
sys.path.append("/usr/lib/python3/dist-packages/qgis/plugins")
# QGIS Python plugins (THIS IS THE MISSING PART)
sys.path.append("/usr/share/qgis/python")
sys.path.append("/usr/share/qgis/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()
Processing.initialize()
qgs.processingRegistry().addProvider(QgsNativeAlgorithms())
return qgs