Przetwarzanie GRASS nie działa na QGIS?

13

Mam kilka problemów z działaniem algorytmów GRASS z przybornika Przetwarzanie.

Kiedy świeżo instalujesz QGIS 3.4 (MacOS High Sierra), najpierw nie znajduje Pythona - co rozwiązałem, tworząc niestandardową zmienną PATH. Następnie narzeka na niespójne użycie tabulatorów i spacji, które rozwiązałem również, edytując plik grass74 w aplikacji QGIS. Teraz otrzymuję ten błąd, niezależnie od używanego algorytmu GRASS :

WARNING: Default locale settings are missing. GRASS running with C locale.
Default locale not found, using UTF-8
Traceback (most recent call last):
File "/Applications/QGIS3.app/Contents/MacOS/grass/grass74", line 2029, in <module>
main()
File "/Applications/QGIS3.app/Contents/MacOS/grass/grass74", line 1880, in main
set_paths(grass_config_dir=grass_config_dir)
File "/Applications/QGIS3.app/Contents/MacOS/grass/grass74", line 622, in set_paths
os.environ['MANPATH'] = sys_man_path
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/os.py", line 674, in __setitem__
value = self.encodevalue(value)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/os.py", line 744, in encode
raise TypeError("str expected, not %s" % type(value).__name__)
TypeError: str expected, not bytes

W tej chwili mam zainstalowany Python 3.6.6 i QGIS 3.4.2 (najnowsza wersja 24Nov2018), ale próbowałem również z Python 3.6.5, Python 3.6.7, QGIS 3.0, 3.2, 3.3, 3.4.1. .. Nie dobrze, ten sam błąd.

Znalazłem tutaj ludzi mających podobne problemy (związane z kodowaniem) w systemie Windows QGIS, który został rozwiązany, ale ustawił region Windows na USA. Chociaż mój system operacyjny jest w języku portugalskim, używam QGIS w języku angielskim i próbowałem ustawić system operacyjny na region Ameryki i język angielski, ale błąd nadal występuje.

Czy ktoś coś o tym wie?

rubslopes
źródło
Czy istnieje szansa, że ​​niektóre foldery, z którymi pracujesz, zawierają znaki nierozpoznawalne za pomocą UTF-8? Jak á, é, ñ, è?
guillermo_dangelo
To nie daje odpowiedzi na pytanie. Aby skrytykować lub poprosić autora o wyjaśnienia, zostaw komentarz pod postem. - Z recenzji
Vince
@ guillermo_dangelo Myślałem, że tak może być, ale przetestowałem przeniesienie plików do folderu „bezpiecznego dla znaków” i nie udało się tego.
rubslopes

Odpowiedzi:

4

GRASS GIS 7.4 działa tylko z Pythonem 2. Pracujemy nad aktualizacją, która odbywa się głównie w aktualnej wersji programistycznej GRASS GIS 7.7 (aby wtedy była stabilna 7.8 lub nawet 8.0).

Jeśli to możliwe, rozważ aktualizację do GRASS GIS 7.6, która wkrótce zostanie wydana (wraz z Python 2).

Edytuj wrzesień 2019:

GRASS GIS 7.8.0 z obsługą Python 3, tak jak zostało wydane:

markusN
źródło
... ale aby korzystać z QGIS, musisz trzymać się wersji GRASS obsługiwanej przez QGIS. Dlatego na razie najlepszym wyborem może być wirtualne urządzenie z QGIS 2.18 LTR.
AndreJ
1
O ile mi wiadomo, QGIS szuka grass74, grass72, grass70. Możesz więc użyć prostej sztuczki i zainstalować GRASS GIS 7.6 i utworzyć link do grass74. Oprogramowanie jest kompatybilne w 99,9% ...
markN N
Nie, jeśli chcesz mieć wtyczkę GRASS pod Ubuntu. Obecnie wersja QGIS 3.4.2 dla Ubuntugis nie instaluje go, ponieważ Ubuntugis niedawno zaktualizował się do GRASS 7.4.3, a QGIS spodziewa się podstawowej wersji i grass742.
AndreJ
Dziwne, normalnie rzeczy powinny być zsynchronizowane. W razie potrzeby warto zgłosić błąd.
markusN
Dlaczego więc pliki instalacyjne każą mi zainstalować Python 3.6.x, ale nic nie mówi o Python 2? Wygląda na to, że mogę zainstalować QGIS 3 nawet bez Python2 na moim komputerze.
rubslopes