Code: Select all
@echo off
call "C:\Program Files\QGIS 3.38.2\bin\o4w_env.bat"
call "C:\Program Files\QGIS 3.38.2\apps\grass\grass84\etc\env.bat"
@echo off
path %PATH%;"C:\Program Files\QGIS 3.38.2\apps\qgis\bin"
path %PATH%;"C:\Program Files\QGIS 3.38.2\apps\grass\grass84\lib"
path %PATH%;"C:\Program Files\QGIS 3.38.2\apps\Qt5\bin"
path %PATH%;"C:\Program Files\QGIS 3.38.2\apps\Python312\Scripts"
path %PATH%;"C:\Program Files\QGIS 3.38.2\bin"
set PYTHONPATH=%PYTHONPATH%;"C:\Program Files\QGIS 3.38.2\apps\qgis\python"
rem set PYTHONHOME="C:\Program Files\QGIS 3.38.2\apps\Python312"
pause
start "PyCharm aware of Quantum GIS" /B "C:\Program Files\JetBrains\PyCharm Community Edition 2024.2.3\bin\pycharm64.exe"
Ich verwende C:/Program Files/QGIS 3.38.2/bin/python-qgis.bat als Python-Interpreter.
Das PyQGIS-Skript
Code: Select all
from qgis.core import *
from qgis import processing
from os.path import dirname as up
if __name__ == "__main__":
QgsApplication.setPrefixPath("C:/Program Files/QGIS 3.38.2", True)
# Create a reference to the QgsApplication. Setting the
# second argument to False disables the GUI.
qgs = QgsApplication([], False)
# Load providers
qgs.initQgis()
for alg in qgs.processingRegistry().algorithms():
print(alg.id(), "->", alg.displayName())
Ich erwarte eine Liste der Verarbeitungsalgorithmen einschließlich des Plugins, das ich verwenden möchte.
Tatsächliches Ergebnis
Es wird nichts ausgedruckt. qgs.processingRegistry().algorithms() gibt eine leere Liste zurück.