Script Python / QGIS qui segfault depuis mise à jour vers QGIS 2.10

Dans un précédent petit article, je donnais un exemple de script Python utilisant QGIS depuis la console sans l’ouvrir graphiquement.

Or, suite à une mise à jour de QGIS vers la version 2.10, tous mes scripts basés sur cet exemple ont cessé de fonctionner. En effet, une segmentation fault (erreur de segmentation) se produisait systématiquement lors de l’appel de la fonction getFeatures().

Après une petite recherche, j’ai trouvé la moitié de la solution ici et l’autre moitié ici.

Il fallait rajouter en début de script les deux lignes suivantes :

from PyQt4.Qt import *
app = QApplication(sys.argv)

Je ne sais pas pourquoi, avec les versions précédentes de QGIS, cela fonctionnait sans.

Mon article initial est mis à jour pour tenir compte de cet ajout. Mais je préfère faire figurer ces explications détaillées à part, dans le présent article. D’une part, cela évite d’alourdir l’autre inutilement, et d’autre part j’espère ainsi qu’une personne rencontrant le même problème que moi pourra trouver la solution plus facilement ici.

Ce contenu a été publié dans Astuces, Informatique. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>