Невозможно запустить алгоритмы Grass в QGIS 2.18 в Ubuntu 16.04

9

У меня установлены QGIS и GRASS через репозитории UbuntuGIS. Если я пытаюсь выполнить любой алгоритм GRASS 6 или 7, я получаю следующее сообщение об ошибке:

"This algorithm cannot be run :-( It seems that GRASS GIS 7 is not correctly installed and configured in your system. Please install it before running GRASS GIS 7 algorithms."

Я проверил другие вопросы по этому вопросу, однако большинство из них касаются программы установки в системах Windows:

В Linux мне не нужно настраивать путь к папке GRASS, как подсказывает мне справка QGIS по настройке внешних приложений. Трава бежит от раковины, печатая grass. Грасс-версия называется оболочкой GRASS 7.2.0 (2016).

Кроме того, я проверил, что GRASS 6 и 7 активированы в меню дополнительных провайдеров на панели инструментов QGIS.

Любое предложение, что можно сделать, чтобы это исправить?

редактировать

Тем временем я полностью удалил и переустановил qgis python-qgis qgis-plugin-grassиз официальных репозиториев QGIS ... но ошибка продолжается.

Редактировать 2 Проверка журналов для qgis на панели сообщений журнала Я обнаружил на вкладке «плагины», что плагин Grass не загружается должным образом:

2017-01-23T14:10:22 1   Failed to load /usr/lib/qgis/plugins/libgrassplugin7.so (Reason: Cannot load library /usr/lib/qgis/plugins/libgrassplugin7.so: (libgrass_gis.7.0.3.so: cannot open shared object file: No such file or directory))
2017-01-23T14:10:22 1   Failed to load /usr/lib/qgis/plugins/libgrassprovider7.so (Reason: Cannot load library /usr/lib/qgis/plugins/libgrassprovider7.so: (libgrass_gis.7.0.3.so: cannot open shared object file: No such file or directory))
2017-01-23T14:10:22 1   Failed to load /usr/lib/qgis/plugins/libgrassrasterprovider7.so (Reason: Cannot load library /usr/lib/qgis/plugins/libgrassrasterprovider7.so: (libgrass_gis.7.0.3.so: cannot open shared object file: No such file or directory))
joaoal
источник
Для Edit2: похоже, что GRASS 7.0.3 ищется, но у вас есть только 7.2.0 на диске. Не смешивайте пакеты с Ubuntugis и не-Ubuntugis.
AndreJ
@ AndreJ Я думаю, что это смешение, вероятно, главная проблема. Я мог бы добавить репозитории Ubuntugis и QGIS. Я пытался добавить только репозитории qgis и переустановить все. но это еще не исправило это. Теперь я не получаю сообщения о том, что плагин загружен, хотя он установлен. Любое предложение о том, как я мог бы убрать оставшийся беспорядок?
Joaoal
1
Либо понизьте GRASS до 7.0.3, либо удалите пакеты Debian QGIS (с помощью purge, см. Askubuntu.com/questions/187888/… ), вернитесь к ubuntgis и следуйте обходному пути в моем ответе.
AndreJ

Ответы:

9

Я получаю ту же ошибку с Ubuntugis версии QGIS и GRASS версии 7.2.0.

Кажется, что 7.2 еще не правильно принят в обработке. На него уже есть билет: https://hub.qgis.org/issues/16019 и https://lists.osgeo.org/pipermail/qgis-developer/2017-January/046671.html.

В качестве обходного пути вы можете отредактировать (как sudo) /usr/share/qgis/python/plugins/processing/algs/grass7/Grass7Utils.pyстроку 251 для

            command = 'grass72 ' + Grass7Utils.grassMapsetFolder() \

и строка 103, Grass7AlgorithmProvider.pyчтобы

    return 'grass72'

Или вернитесь к GRASS 7.0.3 из основного репозитория Ubuntu.

Команды GRASS 6 не будут работать с GRASS 7, поэтому вы можете деактивировать 161 команду GRASS.


Просто еще один обходной путь из списка рассылки https://lists.osgeo.org/pipermail/qgis-user/2017-January/038907.html

sudo ln -s /usr/bin/grass72 /usr/bin/grass70


ОБНОВИТЬ

Также сообщается с http://hub.qgis.org/issues/16110 и исправлено с http://hub.qgis.org/projects/quantum-gis/repository/revisions/099e7a77f2c32f469539f542a31df7b0d4b77dd3 Это должно работать для GRASS версий 7.0 до 7.3

К сожалению, это исправление не было применено к QGIS 2.18.4, поэтому обходные пути все еще необходимы.

Andrej
источник
Ладно. Обходной путь не работал для меня. Я пытался, но это не удалось. Однако понижение через менеджер пакетов synaptics до версии 7.0 помогло. Как я могу убедиться, что при следующем обновлении программного обеспечения оно не обновляется до 7.2. снова? Я уже удалил репозитории qgis и ubuntugis из списка источников, однако кажется, что официальные репозитории ubuntu уже содержат в себе травы 7.2 ... по крайней мере, если я открою центр программного обеспечения, он предложит мне 7.2.
Joaoal
1
С packages.ubuntu.com/… Я вижу GRASS 7.2 только для пикантности. Возможно, в центре программного обеспечения все еще есть запись Ubuntugis. Попробуйте apt-cache policy grassв окне терминала посмотреть, что действительно доступно.
AndreJ
символическая ссылка не работает для меня .. Я на Mint с qgis скомпилирован из источника и запустить из выходной папки. Есть ли у меня другие конфигурации для редактирования? Спасибо!
Маттео
2
К сожалению, QGIS и Ubuntugis часто не синхронизированы. Так что на этот раз, когда я увидел, что есть обновление GRASS, я не установил его. Просто удивляйтесь, как узнать, когда настало подходящее время. Официальные каналы, кажется, игнорируют эту действительно раздражающую проблему большую часть времени. Это не весело, если сломать QGIS каждые три месяца или около того.
Бернд В.
@BerndV. Я обычно устанавливаю новые версии Linux сначала в виртуальной коробке для тестирования.
AndreJ
4

Я исправил проблему, переустановив grass 7.0.3 из репозитория qgis. Трава из репозитория Ubuntugis - это версия 7.2, которая не поддерживается QGIS.

  1. удалите GRASS GIS с помощью sudo apt-get удалите траву

  2. отключить Ubuntugis-нестабильный репозиторий

  3. sudo apt-get установить траву

Меня устраивает.

Yu-Сюань
источник