Страница 1 из 1
Проблемы со spatialite в QGIS 1.8.
Добавлено: 21 авг 2012, 01:10
SS_Rebelious
После установки QGIS 1.8, плагин DBManager стал выдавать сообщение: "no module named pyspatiallite". Также при попытке импорта в pyhon модуля qgis.core выдаётся ошибка:
>>> import qgis.core
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/lib64/libspatialite.so.2: undefined symbol: GEOSBufferParams_destroy
Как починить поддержку spatiallite?
openSUSE 12.1
Re: Проблемы со spatialite в QGIS 1.8.
Добавлено: 21 авг 2012, 09:21
Voltron
Установить пакет pyspatialite
Re: Проблемы со spatialite в QGIS 1.8.
Добавлено: 21 авг 2012, 12:18
SS_Rebelious
Voltron писал(а):Установить пакет pyspatialite
А разве он не должен идти в комплекте с QGIS? В предыдущей версии всё ведь работало.
Что касается самостоятельной установки пакета, то его установка проблемы решает не до конца: import qgis.core выдаёт всё ту же ошибку ( "/usr/lib64/libspatialite.so.2: undefined symbol: GEOSBufferParams_destroy"), а DB Manager, пишет, что "/usr/local/lib64/pyton2.7/site-packages/pyspatialite/_spatialite.so: undefined symbol: GEOSSimplify".
Переустановка libgeos ничего не даёт.
Re: Проблемы со spatialite в QGIS 1.8.
Добавлено: 21 авг 2012, 12:38
Voltron
SS_Rebelious писал(а):А разве он не должен идти в комплекте с QGIS? В предыдущей версии всё ведь работало.
Не должен.
В предыдущих версиях QGIS использовала встроенные (bundled) библиотеки spatialindex, spatialite (и, соответственно, pyspatialite). Это была вынужденная мера, т.к. раньше SpatiaLite была доступна не на всех платформах, кроме того был ряд проблем с поддержкой SQLite. Теперь же для большинства дистрибутивов и ОС используются внешние (общесистемные) библиотеки.
Внутренняя копия SpatiaLite осталась только из-за ряда старых веток Debian/Ubuntu.
SS_Rebelious писал(а):Что касается самостоятельной установки пакета, то его установка проблемы решает не до конца: import qgis.core выдаёт всё ту же ошибку ( "/usr/lib64/libspatialite.so.2: undefined symbol: GEOSBufferParams_destroy"), а DB Manager, пишет, что "/usr/local/lib64/pyton2.7/site-packages/pyspatialite/_spatialite.so: undefined symbol: GEOSSimplify".
Предполагаю, что pyspatialite собран для другой версии SpatiaLite либо для той же, но с другим набором опций.
Re: Проблемы со spatialite в QGIS 1.8.
Добавлено: 21 авг 2012, 16:40
SS_Rebelious
Voltron писал(а):Не должен.
Это конечно замечательно, учитывая, что без танцев с бубном pyspatialite не ставится (и для openSUSE его нет в репозиториях).
Судя по результатам тестов, pysqlite работает нормально:
Код: Выделить всё
>>> from pysqlite2 import test
>>> test.test()
.....................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 213 tests in 2.892s
OK
Voltron писал(а):
Предполагаю, что pyspatialite собран для другой версии SpatiaLite либо для той же, но с другим набором опций.
Версия соответствует заявленным требованиям. Что касается набора опций, то я даже не представляю, куда нужно лезть, и какие опции какого софта проверять.
В принципе, мне всё-равно, заработает ли поддержка spatialite в DB Managere, меня больше волнует импорт qgis.core для python. Можно ли как-то обойти эту ошибку и загрузить таки qgis.core пусть и без поддержки spatialite?
Re: Проблемы со spatialite в QGIS 1.8.
Добавлено: 22 авг 2012, 19:03
SS_Rebelious
Проблема заключалась в том, что в системе были установлены две версии GEOS. Вторая, видимо была установлена вместе с утилитами для работы с mrSID.