Код: Выделить всё
@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"
Я использую C:/Program Files/QGIS 3.38.2/bin/python-qgis.bat в качестве интерпретатора Python.
Скрипт PyQGIS
Код: Выделить всё
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())
Я ожидаю увидеть список алгоритмов обработки, включая плагин, который я хочу использовать.
Фактический результат
Ничего не распечатывается. qgs.processingRegistry().algorithms() возвращает пустой список.
Подробнее здесь: https://stackoverflow.com/questions/793 ... y-is-empty
Мобильная версия