GRASS Processing funktioniert nicht auf QGIS?

13

Ich hatte mehrere Probleme damit, dass GRASS-Algorithmen über die Processing-Toolbox funktionieren.

Bei der Neuinstallation von QGIS 3.4 (MacOS High Sierra) wird zunächst kein Python gefunden - was ich durch das Erstellen einer benutzerdefinierten PATH-Variablen gelöst habe. Dann klagt es über die inkonsistente Verwendung von Tabulatoren und Leerzeichen, die ich auch durch Bearbeiten der grass74-Datei in der QGIS-App gelöst habe. Jetzt erhalte ich unabhängig vom verwendeten GRASS-Algorithmus folgende Fehlermeldung :

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

Im Moment habe ich Python 3.6.6 installiert und QGIS 3.4.2 (die neueste Version von 24Nov2018), aber ich habe es auch mit Python 3.6.5, Python 3.6.7, QGIS 3.0, 3.2, 3.3, 3.4.1 versucht. ..Nein guter, gleicher Fehler.

Ich fand Leute hier, die ähnliche Probleme (im Zusammenhang mit der Codierung) für Windows QGIS hatten, die behoben wurden, aber die Windows-Region auf USA setzten. Obwohl mein Betriebssystem auf Portugiesisch ist, verwende ich das QGIS auf Englisch und versuche, das Betriebssystem auf die Region Amerika und die englische Sprache einzustellen, aber der Fehler bleibt bestehen.

Weiß jemand etwas darüber?

Abfahrten
quelle
Besteht die Möglichkeit, dass einige der Ordner, mit denen Sie arbeiten, Zeichen enthalten, die mit UTF-8 nicht erkannt werden können? Wie á, é, ñ, è?
guillermo_dangelo
Dies gibt keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klarstellung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag. - Aus der Bewertung
Vince
@guillermo_dangelo Ich dachte, es könnte so sein, aber ich habe getestet, wie ich die Dateien in einen "charaktersicheren" Ordner verschoben habe und es hat nicht geklappt.
Rubslopes

Antworten:

4

GRASS GIS 7.4 funktioniert nur mit Python 2. Wir arbeiten an dem Update, das größtenteils in der aktuellen Entwicklungsversion GRASS GIS 7.7 durchgeführt wird (um dann 7.8 oder sogar 8.0 stabil zu werden).

Wenn möglich, sollten Sie ein Update auf GRASS GIS 7.6 in Erwägung ziehen, das in Kürze (zusammen mit Python 2) veröffentlicht wird.

Edit Sep 2019:

GRASS GIS 7.8.0 mit Python 3-Unterstützung wurde veröffentlicht:

markusN
quelle
... aber für die Verwendung in QGIS müssen Sie sich an die von QGIS unterstützte GRASS-Version halten. Daher ist eine virtuelle Box mit QGIS 2.18 LTR die beste Wahl.
AndreJ
1
QGIS sucht meines Wissens nach grass74, grass72, grass70. Sie können also mit einem einfachen Trick GRASS GIS 7.6 installieren und einen Link zu grass74 erstellen. Die Software ist zu 99,9% kompatibel ...
markusN
Nicht, wenn Sie das GRASS-Plugin unter Ubuntu wollen. Gegenwärtig wird es von der Ubuntugis-Version von QGIS 3.4.2 nicht installiert, da Ubuntugis kürzlich auf GRASS 7.4.3 aktualisiert wurde und QGIS Grass-Core und Grass742 erwartet.
AndreJ
Seltsam, normalerweise sollten die Dinge synchron sein. Falls sich dort ein Bugreport lohnt.
markusN
Warum fordern mich die Installationsdateien auf, Python 3.6.x zu installieren, ohne etwas über Python 2 zu sagen? Es scheint, als könnte ich QGIS 3 auch ohne Python2 auf meinem Computer installieren.
Rubslopes