[QGIS-Developer] PyQGIS standalone Python Scripts with pycharm - Loading the processsing.run() fails/nonexisting

Egenolf, Michael michael.egenolf at bezreg-koeln.nrw.de
Tue Jun 28 06:17:55 PDT 2022


Dear QGIS-Develeopers,

I was trying to figure out how to get going with the processing modul in Pyqgis.
 It seems that I am not able to load the processing tool properly.

1)

I did make a bat file with the right pathes as followed:

@echo off
SET OSGEO4W_ROOT=C:\brk\programme\QGIS 3.16
call %OSGEO4W_ROOT%\bin\o4w_env.bat
call %OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat

path %path%;%OSGEO4W_ROOT%\apps\qgis-ltr\bin
path %path%;%OSGEO4W_ROOT%\apps\grass\grass78\lib
path %path%;C:\OSGeo4W\apps\qt5\bin
path %path%;C:\OSGeo4W\apps\Python37\Scripts

set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37

start "Pycharm aware of QGIS" /B "C:\brk\programme\PyCharm-Community_2021.3\bin\pycharm64.exe" %*


2)

After that I am loading Pycharm and I am using  the following interpreter:

C:\brk\programme\QGIS 3.16\bin\python-qgis-ltr.bat

3)
This is my python code I want to run:


from qgis import processing

input = r'dein SHP Layer'
outputWithLayer = 'memory '  # kannst den Layer lokal in einem Ordner speichern z.B. C:\test\shpfile.shp


def buffer(input, outputWithLayer):
    buffer_result = processing.run("native:buffer", {
        'INPUT': input,
        'DISTANCE': 10000,
        # 'DISSOLVE': True,# Falls du alle Polygonen mergen willst
        'OUTPUT': outputWithLayer
    })

bufferresult = buffer(input, outputWithLayer)
print(bufferresult)

# result_layer = buffer_result['OUTPUT']
# layer = QgsVectorLayer(result_layer,"test","ogr")
# QgsProject.instance().addMapLayer(layer)



4) Result

Stil if I want to import processing as suggested everywhere there will always fail because the eather the modul is not importet or when I am using the buffer the run() method is not found:


"C:\brk\programme\QGIS 3.16\bin\python-qgis-ltr.bat" C:/Users/Egenolf/AppData/Roaming/JetBrains/PyCharmCE2021.3/scratches/Test_Pyqt.py
Traceback (most recent call last):
  File "C:/Users/Egenolf/AppData/Roaming/JetBrains/PyCharmCE2021.3/scratches/Test_Pyqt.py", line 13, in <module>
    import processing
ModuleNotFoundError: No module named 'processing'




Even after an intensive research on stackexchange/ GISstackexchange pages there is not clear solucion to this point or the solucion is not adapted to Python 3.
Does anybody has a good loading script or some hints on how to solve this problem?


Best regards
Michael Egenolf




More information about the QGIS-Developer mailing list