TLDR: используя QGIS, я пытаюсь разработать плагин Python для обновления базы данных.К сожалению, я сразу получаю сообщение об ошибке: Traceback (последний вызов был последним): файл "", строка 1, в NameError: имя 'QgsDataSourceUri' не определено
Более подробно:
Я работаю надQGIS2.18 разработать плагин для обновления некоторых данных, находящихся в базе данных postgres.для этого я хочу использовать такой код:
from qgis.core import *
from PyQt4.QtCore import *
from PyQt4.QtCore import QSettings
from PyQt4.QtCore import QSettings
from qgis.core import QgsVectorLayer, QgsDataSourceURI
uri = QgsDataSourceUri()
# set host name, port, database name, username and password
uri.setConnection(hote_IP, "5432", base_de_donnee, utilisateur, mot_de_passe)
# set database schema, table name, geometry column and optionally
# subset (WHERE clause)
#uri.setDataSource("public", "roads", "the_geom", "cityid = 2643")
uri.setDataSource("", sql, "geom", "", "gid")
vlayer = QgsVectorLayer(uri.uri(), zapm, "postgres")
QgsMapLayerRegistry.instance().addMapLayer(vlayer)
(я получил код из сети, позже адаптирую его)
Моя проблема: когда я пытаюсьчтобы запустить этот код на консоли Python QGIS, я сразу получаю сообщение об ошибке
Traceback (последний вызов был последним): файл "", строка 1, в NameError: имя 'QgsDataSourceUri' не определено
, даже когда я только запускаю импорт и строку uri = QgsDataSourceUri () , я получаю то же сообщение об ошибке.
Я не смогузнать, как исправить эту проблему.
проблема установки QGIS?питона?плохой импорт?
Конфиг: qgis 2.18.20 python 3.6.5
Если у кого-то есть идеи, как решить эту проблему, я был бы очень рад.
Спасибо,Erwann