file_table_reader/qgis_bootstrap.py

35 lines
987 B
Python
Raw Permalink Normal View History

2025-11-26 07:18:46 +00:00
import os
import sys
2025-11-25 09:39:21 +00:00
2025-12-01 02:17:31 +00:00
# QGIS environment
os.environ["QGIS_PREFIX_PATH"] = "/usr"
os.environ["QGIS_HOME"] = "/usr"
2025-11-25 09:39:21 +00:00
2025-12-01 02:17:31 +00:00
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"
2025-11-25 09:39:21 +00:00
2025-11-26 07:18:46 +00:00
os.environ["QT_QPA_PLATFORM"] = "offscreen"
2025-11-25 09:39:21 +00:00
2025-12-01 02:17:31 +00:00
# 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")
2025-11-25 09:39:21 +00:00
2025-11-29 04:44:08 +00:00
from qgis.core import QgsApplication, QgsProviderRegistry
2025-11-26 07:18:46 +00:00
from qgis.analysis import QgsNativeAlgorithms
import processing
from processing.core.Processing import Processing
2025-11-25 09:39:21 +00:00
2025-11-26 07:18:46 +00:00
def start_qgis():
qgs = QgsApplication([], False)
qgs.initQgis()
Processing.initialize()
2025-11-29 04:44:08 +00:00
QgsProviderRegistry.instance()
2025-11-26 07:18:46 +00:00
qgs.processingRegistry().addProvider(QgsNativeAlgorithms())
return qgs