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/lib/x86_64-linux-gnu/qt5/plugins" os.environ["QT_QPA_PLATFORM"] = "offscreen" # 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() Processing.initialize() QgsProviderRegistry.instance() qgs.processingRegistry().addProvider(QgsNativeAlgorithms()) return qgs