Nie można uruchomić algorytmów Grass w QGIS 2.18 na Ubuntu 16.04

9

Mam zainstalowane QGIS i GRASS za pośrednictwem repozytoriów UbuntuGIS. Jeśli próbuję wykonać dowolny algorytm GRASS 6 lub 7, pojawia się następujący komunikat o błędzie:

"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."

Sprawdziłem inne pytania na ten temat, jednak większość dotyczy Instalatora w systemach Windows:

W systemie Linux nie muszę konfigurować ścieżki do folderu GRASS, jak mówi mi pomoc QGIS na temat konfigurowania aplikacji zewnętrznych. Trawa biegnie ze skorupy, wpisując grass. Wersja Grass wywoływana przez powłokę to GRASS 7.2.0 (2016).

Ponadto sprawdziłem, czy GRASS 6 i 7 są aktywowane w menu dodatkowych dostawców w przyborniku QGIS.

Wszelkie sugestie, co można zrobić, aby to naprawić?

Edytować

Tymczasem całkowicie odinstalowałem i ponownie zainstalowałem qgis python-qgis qgis-plugin-grassz oficjalnych repozytoriów QGIS ... ale błąd nadal występuje.

Edycja 2 Sprawdzanie dzienników qgis w panelu Wiadomości z dzienników Dowiedziałem się w zakładce „wtyczki”, że wtyczka do trawy nie ładuje się poprawnie:

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
źródło
Dla Edit2: Wygląda na to, że szukana jest GRASS 7.0.3, ale masz tylko 7.2.0 na dysku. Nie mieszaj pakietów Ubuntugis i innych niż Ubuntugis.
AndreJ
@AndreJ Myślę, że to mieszanie jest prawdopodobnie głównym problemem. Mogłem dodać repozytoria ubuntugis i qgis. Próbowałem dodać tylko repozytoria qgis i ponownie zainstalować wszystkie. ale to jeszcze tego nie naprawiło. teraz nie otrzymuję żadnego komunikatu, że wtyczka jest załadowana, chociaż jest zainstalowana. jakieś sugestie, jak mogę posprzątać pozostały bałagan?
joaoal
1
Zmień wersję GRASS na wersję 7.0.3 lub usuń pakiety debian QGIS (z opcją purge, patrz askubuntu.com/questions/187888/... ), wróć do Ubuntgis i postępuj zgodnie z obejściem w mojej odpowiedzi.
AndreJ

Odpowiedzi:

9

Otrzymuję ten sam błąd w wersji Ubuntugis QGIS i GRASS w wersji 7.2.0.

Wydaje się, że 7.2 nie zostało jeszcze poprawnie przyjęte w przetwarzaniu. Jest już bilet na to: https://hub.qgis.org/issues/16019 i https://lists.osgeo.org/pipermail/qgis-developer/2017-J stycznia/046671.html

Aby obejść ten problem, możesz edytować (jako sudo) /usr/share/qgis/python/plugins/processing/algs/grass7/Grass7Utils.pylinię 251 do

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

i linię 103 Grass7AlgorithmProvider.pydo

    return 'grass72'

Lub przejdź na GRASS 7.0.3 z głównego repozytorium Ubuntu.

Polecenia GRASS 6 nie będą działać z GRASS 7, więc możesz dezaktywować 161 GRASSpoleceń.


Kolejne obejście z listy mailingowej https://lists.osgeo.org/pipermail/qgis-user/2017-J stycznia/038907.html

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


AKTUALIZACJA

Zgłoszono również w http://hub.qgis.org/issues/16110 i naprawiono w http://hub.qgis.org/projects/quantum-gis/repository/revisions/099e7a77f2c32f469539f542a31df7b0d4b77dd3 To powinno działać dla wersji GRASS 7.0 do 7.3

Niestety poprawka nie została zastosowana w QGIS 2.18.4, więc obejścia są nadal konieczne.

AndreJ
źródło
w porządku. obejście nie zadziałało dla mnie. próbowałem, ale się nie udało. Jednak przejście od menedżera pakietów synaptics do wersji 7.0 pomogło. jak mogę się upewnić, że przy następnej aktualizacji oprogramowania nie zostanie zaktualizowana do wersji 7.2. jeszcze raz? Usunąłem już repozytoria qgis i ubuntugis z listy źródeł, jednak wydaje się, że oficjalne repozytoria ubuntu już zawierają trawę 7.2 ... przynajmniej jeśli otworzę centrum oprogramowania, które oferuje mi 7.2.
joaoal
1
Z packages.ubuntu.com/ ... GRASS 7.2 widzę tylko ze względu na szczerość. Być może w centrum oprogramowania nadal znajduje się wpis Ubuntugis. Spróbuj apt-cache policy grassw oknie terminala, aby zobaczyć, co jest naprawdę dostępne.
AndreJ
dowiązanie symboliczne nie działało dla mnie .. Jestem na mennicy z qgis skompilowanymi ze źródła i uruchamiam z folderu wyjściowego. Czy mam również inne konfiguracje do edycji? Dzięki!
matteo
2
QGIS i ubuntugis niestety często nie są zsynchronizowane. Więc tym razem, gdy zobaczyłem, że istnieje aktualizacja GRASS, nie zainstalowałem jej. Zastanów się, jak dowiedzieć się, kiedy nadszedł właściwy czas. Oficjalne kanały wydają się ignorować ten naprawdę irytujący problem przez większość czasu. Nie jest fajnie mieć zepsuty QGIS co około trzy miesiące.
Bernd V.
@BerndV. Zwykle najpierw instaluję nowe wersje Linuksa w wirtualnym pudełku do testowania.
AndreJ
4

Rozwiązałem problem, instalując ponownie trawę 7.0.3 z repozytorium qgis. Trawa z repozytorium Ubuntugis to wersja 7.2, która nie jest obsługiwana przez QGIS.

  1. usuń GRASS GIS przez sudo apt-get usuń grass grass-core grass-doc grass-gui

  2. wyłącz niestabilne repozytorium ubuntugis

  3. sudo apt-get install grass grass-gui

Mi to pasuje.

Yu-Hsuan
źródło