GRASS Обработка не работает на QGIS?

13

У меня было несколько проблем с работой алгоритмов GRASS из панели инструментов Обработка.

Когда вы заново устанавливаете QGIS 3.4 (MacOS High Sierra), сначала он не находит python - что я решил, создав собственную переменную PATH. Затем он жалуется на непоследовательное использование вкладок и пробелов, что я также решил, отредактировав файл grass74 в приложении QGIS. Теперь я получаю эту ошибку независимо от используемого алгоритма 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

Прямо сейчас у меня установлен Python 3.6.6 и QGIS 3.4.2 (самая последняя версия 24Nov2018), но я также пробовал с Python 3.6.5, Python 3.6.7, QGIS 3.0, 3.2, 3.3, 3.4.1. .. Ничего хорошего, такая же ошибка.

Я обнаружил, что у людей здесь есть похожие проблемы (связанные с кодированием) для Windows QGIS, которая была решена, но для региона Windows было установлено значение США. Хотя моя ОС написана на португальском языке, я использую QGIS на английском языке и попытался установить для ОС регион Америки и английский язык, но ошибка сохраняется.

Кто-нибудь знает что-нибудь об этом?

rubslopes
источник
Есть ли вероятность того, что некоторые из папок, с которыми вы работаете, содержат символы, не распознаваемые с помощью UTF-8? Как и у, у, у, у?
guillermo_dangelo
Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий под своим постом. - Из обзора
Винс
@guillermo_dangelo Я думал, что это может быть так, но я протестировал перемещение файлов в «безопасную от символов» папку, но это не удалось.
rubslopes

Ответы:

4

GRASS GIS 7.4 работает только с Python 2. Мы работаем над обновлением, которое в основном выполняется в текущей версии разработки GRASS GIS 7.7 (чтобы потом стать стабильной 7.8 или даже 8.0).

Если возможно, рассмотрите возможность обновления до GRASS GIS 7.6, которая скоро будет выпущена (вместе с Python 2).

Изменить сентябрь 2019 года:

GRASS GIS 7.8.0 с поддержкой Python 3, как было выпущено:

markusN
источник
... но для использования в QGIS вы должны придерживаться версии GRASS, поддерживаемой QGIS. Так что на данный момент лучшим выбором может быть виртуальная коробка с QGIS 2.18 LTR внутри.
AndreJ
1
Насколько мне известно, QGIS ищет grass74, grass72, grass70. Таким образом, вы можете использовать простой трюк и установить GRASS GIS 7.6 и создать ссылку на grass74. Программное обеспечение совместимо на 99,9% ...
markusN
Нет, если вы хотите плагин GRASS под Ubuntu. В настоящее время версия QGIS 3.4.2 для Ubuntugis не устанавливает ее, поскольку Ubuntugis недавно обновилась до GRASS 7.4.3, и QGIS ожидает версии Grass-Core и Grass742.
AndreJ
Странно, обычно все должно быть синхронизировано. В случае, если стоит сообщение об ошибке там.
markusN
Так почему установочные файлы говорят мне установить Python 3.6.x, но ничего не говорят о Python 2? Кажется, я мог бы установить QGIS 3, даже не имея Python2 на моей машине.
rubslopes