Hi Michael,

you need to add the python\plugins folder to the pythonpath as well, either in your batch file or PyCharm

Greetings,

Benjamin

Am 28/06/2022 um 15:17 schrieb Egenolf, Michael via QGIS-Developer:
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


_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info:https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe:https://lists.osgeo.org/mailman/listinfo/qgis-developer

--
Benjamin Jakimow, Doctoral Researcher
Earth Observation Lab | Geography Department | Humboldt-Universität zu Berlin

e-mail:benjamin.jaki...@geo.hu-berlin.de

phone:  +49 (0) 30 2093 6846
mobile: +49 (0) 157 5656 8477
fax:    +49 (0) 30 2093 6848
mail:   Unter den Linden 6 | 10099 Berlin | Germany
room: 2'211
web:https://hu-berlin.de/eo-lab

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to