[QGIS-it-user] sviluppare codice con librerie pyqgis in pycharm

Salve a tutti

sto provando ad utilizzare l’IDE pyCharm per sviluppare codice python

ho scoperto che potrei utilizzarla anche con le librerie di pyqgis

il mio fine ultimo è sempre quello di produrre script da utilizzare nell’ambiente processing

ho seguito la guida per eseguire il setting di pycharm al punto 16.4.5

mi sono creato il nuovo interprete e vi ho aggiunto i percorsi

/usr/lib/qgis
/usr/share/qgis/python
/home/giacomo/.local/share/qgis/qgis3/profiles/default/python
/usr/lib/python3/dist-packages/qgis/processing

inoltre ho aggiunto la variabile d’ambiente

export PYTHONPATH=$PYTHONPATH:/usr/share/qgis/python:/home/giacomo/.local/share/QGIS/QGIS3/profiles/default/python:/home/giacomo/.local/share/QGIS/QGIS3/profiles/default/python/plugins:/usr/share/qgis/python/plugins:/usr/lib/python38.zip:/usr/lib/python3.8:/usr/lib/python3.8/lib-dynload:/home/giacomo/.local/lib/python3.8/site-packages:/usr/local/lib/python3.8/dist-packages:/usr/lib/python3/dist-packages:/home/giacomo/.local/share/QGIS/QGIS3/profiles/default/python

purtroppo però ottengo i seguenti errori

Application path not initialized

AttributeError: module ‘qgis.processing’ has no attribute ‘run’

Qualcuno ha avuto esperienze simili?

Grazie

Ciao Giacomo,

premetto che non ho mai usato pycharm, ma credo che il problema che stai cercando di risolvere sia lo stesso per qualsiasi IDE che intendi utilizzare, ovvero impostare il path corretto delle librerie di pyqgis dentro l'ide.

Forse avrai già visto questo, anche se per Windows:

https://gis.stackexchange.com/questions/362874/using-pyqgis-in-pycharm-2020

non so in che modo hai installato QGIS (se da pacchetto o compilato), nel mio caso (compilato) il percorso corretto delle librerie è

/home/matteo/dev/qgis-master/output/python/qgis/

Spero ti possa aiutare

Matteo

Ciao Matteo

credo di aver risolto sia per pyCharm che per Spyder

Per quanto riguarda il primo la faccenda è un po’ complicata e non molto intuitiva.
In pratica bisogna crearsi un nuovo ambiente virtuale con un interprete dedicato al quale aggiungere i percorsi

/home/giacomo/.local/share/QGIS/QGIS3/profiles/default/python

/usr/share/qgis/python/plugins

/usr/lib/python3/dist-packages/qgis/processing

Per quanto riguarda Spyder basta aggiungere i python path, quindi

tool > preferences > pythonpath

ed aggiungervi di nuovo

/home/giacomo/.local/share/QGIS/QGIS3/profiles/default/python

/usr/share/qgis/python/plugins

/usr/lib/python3/dist-packages/qgis/processing

Non ho inserito il percorso che mi indicavi tu. A cosa serve?

Una volta fatto questo se si ha intenzione di sviluppare codice con le librerie QGIS in uno si questi IDE bisogna aggiungere del codice in più

import os

from qgis.core import QgsApplication

QgsApplication.setPrefixPath(‘/usr’, True)

qgs = QgsApplication(, False)

qgs.initQgis()

import sys

sys.path.append(‘/usr/share/qgis/python/plugins/processing’)

import processing

from processing.core.Processing import Processing

Processing.initialize()

Non sono sicuro che quello che ho descritto e fatto abbia senso, magari la cosa è molto più semplice, ma a me funziona !!!

Grazie

Giacomo

Il giorno mar 25 mag 2021 alle ore 08:24 matteo <matteo.ghetta@gmail.com> ha scritto:

Ciao Giacomo,

premetto che non ho mai usato pycharm, ma credo che il problema che stai
cercando di risolvere sia lo stesso per qualsiasi IDE che intendi
utilizzare, ovvero impostare il path corretto delle librerie di pyqgis
dentro l’ide.

Forse avrai già visto questo, anche se per Windows:

https://gis.stackexchange.com/questions/362874/using-pyqgis-in-pycharm-2020

non so in che modo hai installato QGIS (se da pacchetto o compilato),
nel mio caso (compilato) il percorso corretto delle librerie è

/home/matteo/dev/qgis-master/output/python/qgis/

Spero ti possa aiutare

Matteo


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user