Le traitement GRASS ne fonctionne pas sur QGIS?

13

J'ai rencontré plusieurs problèmes pour que les algorithmes GRASS fonctionnent à partir de la boîte à outils Traitement.

Lorsque vous installez à nouveau QGIS 3.4 (MacOS High Sierra), il ne trouve d'abord pas python - que j'ai résolu en créant une variable PATH personnalisée. Ensuite, il se plaint de l'utilisation incohérente des tabulations et des espaces, que j'ai également résolue en modifiant le fichier grass74 dans l'application QGIS. Maintenant, je reçois cette erreur quel que soit l'algorithme GRASS que j'utilise :

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

Pour l'instant, j'ai installé Python 3.6.6 et QGIS 3.4.2 (la dernière version du 24 novembre 2018), mais j'ai également essayé avec Python 3.6.5, Python 3.6.7, QGIS 3.0, 3.2, 3.3, 3.4.1. .. Pas bon, même erreur.

J'ai trouvé des gens ici ayant des problèmes similaires (liés à l'encodage) pour Windows QGIS, qui a été résolu mais définissant la région Windows sur USA. Bien que mon système d'exploitation soit en portugais, j'utilise QGIS en anglais et j'ai essayé de définir le système d'exploitation sur la région Amérique et la langue anglaise, mais l'erreur persiste.

Quelqu'un sait-il quelque chose à ce sujet?

rubslopes
la source
Est-il possible que certains des dossiers avec lesquels vous travaillez contiennent des caractères non reconnaissables en utilisant UTF-8? Comme á, é, ñ, è?
guillermo_dangelo
Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article. - De l'avis
Vince
@guillermo_dangelo Je pensais que c'était possible, mais j'ai testé le déplacement des fichiers vers un dossier "sans danger pour les personnages" et il ne l'a pas fait.
rubslopes

Réponses:

4

GRASS GIS 7.4 fonctionne uniquement avec Python 2. Nous travaillons sur la mise à jour qui se fait principalement dans la version de développement actuelle GRASS GIS 7.7 (pour devenir 7.8 stable puis même 8.0).

Si possible pour vous, envisagez de mettre à jour vers GRASS GIS 7.6 qui sortira bientôt (avec Python 2).

Modifier septembre 2019:

GRASS GIS 7.8.0 avec prise en charge de Python 3 a été publié:

markusN
la source
... mais pour une utilisation dans QGIS, vous devez vous en tenir à la version GRASS prise en charge par QGIS. Donc pour l'instant, une boîte virtuelle avec QGIS 2.18 LTR à l'intérieur pourrait être le meilleur choix.
AndreJ
1
QGIS recherche grass74, grass72, grass70 à ma connaissance. Vous pouvez donc utiliser une astuce simple et installer GRASS GIS 7.6 et créer un lien vers grass74. Le logiciel est compatible à 99,9% ...
markusN
Pas si vous voulez le plugin GRASS sous Ubuntu. Actuellement, la version Ubuntugis de QGIS 3.4.2 ne l'installe pas car Ubuntugis a récemment mis à niveau vers GRASS 7.4.3, et QGIS attend Grass-core et grass742.
AndreJ
Étrange, normalement les choses devraient être synchronisées. Dans le cas où vaut un rapport de bug là-bas
markusN
Alors pourquoi les fichiers d'installation me disent d'installer Python 3.6.x mais ne disent rien sur Python 2? Il semble que je pourrais installer QGIS 3 même sans avoir Python2 sur ma machine.
rubslopes