4 votos

GRASS no funciona en QGIS, independiente

*Ejecutando QGIS 3.6, GRASS 7.6; tengo tanto Python 2 como 3

Estoy intentando ejecutar un algoritmo de GRASS en QGIS, y ninguna de las herramientas de GRASS funciona. GRASS tampoco funciona en la versión independiente. He probado tanto QGIS como QGIS con GRASS.

Traté de cambiar el nombre de mi ruta de Python 3.7 como que ha causado problemas en el pasado, y obtuvo este error cuando se ejecuta en QGIS:

Este algoritmo no se puede ejecutar :-( La carpeta especificada de GRASS 7 " C:\Program Archivos \QGIS 3.6 \bin\bin " no contiene un conjunto válido de módulos de GRASS 7. Por favor, vaya al diálogo de configuración de Processing, y verifique que la carpeta de GRASS 7 está correctamente configurada

Cuando ejecuto GRASS independientemente (para 7.4 y 7.6), la línea de comandos se abre con el siguiente error:

File "C:\Python37\Lib\site.py", line 177
  file=sys.stderr)
SyntaxError: invalid syntax
Press any key to continue . . .

Ejecutar la hierba dentro de QGIS (herramienta v.clean):

Las siguientes capas no estaban correctamente correctamente. [....] Puede comprobar el 'Panel de Mensajes de Registro' en la ventana principal de QGIS para encontrar más información sobre la ejecución del algoritmo.

No hay nada sustancial en Log Messages, pero buscando en el log de GRASS encontré lo mismo que estaba obteniendo cuando trataba de correr GRASS standalone:

File "C:\Python37\Lib\site.py", line 177
file=sys.stderr)
^
SyntaxError: invalid syntax
Press any key to continue . . .

He comprobado mis opciones de procesamiento: GRASS está activado y los documentos están en la ubicación correcta.

También he intentado buscar algún error en torno al "error de sintaxis" en Python37 \Lib\site.py así como un par de archivos .bat de GRASS, pero no sé lo suficiente sobre el uso de GRASS como para saber si algo está mal.

0voto

Note que GRASS GIS 7.4 y 7.6 solo funcionan con Python 2. Estamos cerca de una actualización completa a Python 3 que se realiza en la versión de desarrollo actual GRASS GIS 7.7 (para convertirse en 7.8 estable entonces).

Si te es posible, considera actualizar a GRASS GIS 7.7 (AFAIK está disponible en el instalador de OSGeo4W, en la sección de desarrollo).

Editar Sep 2019:

GRASS GIS 7.8.0 con soporte para Python 3 ha sido liberado:

0voto

Mr. Che Puntos 356

Me encontré con el mismo problema y lo resolví añadiendo la siguiente línea a mi archivo de inicio de PyCharm:

llamar a "%OSGEO4W_ROOT%". \apps\grass\grass78\etc\env.bat "

Todo el .cmd contiene esto:

@ECHO off

set OSGEO4W_ROOT=C:\OSGeo4W64

call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
call "%OSGEO4W_ROOT%\bin\qt5_env.bat"
call "%OSGEO4W_ROOT%\bin\py3_env.bat"
call "%OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat"

path %OSGEO4W_ROOT%\apps\qgis\bin;%PATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis

set GDAL_FILENAME_IS_UTF8=YES

set VSI_CACHE=TRUE
set VSI_CACHE_SIZE=1000000
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins

SET PYCHARM="C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.1\bin\pycharm64.exe"

set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37
set PYTHONPATH=%OSGEO4W_ROOT%\apps\Python37\lib\site-packages;%PYTHONPATH%

set QT_QPA_PLATFORM_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\Qt5\plugins\platforms
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis

start "PyCharm aware of QGIS" /B %PYCHARM% %*

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X