Actualicé QGIS a la versión 3.6 usando OSGEO4w
Cuando intento ejecutar cualquier script GRASS, aparece el siguiente mensaje de error:
Este algoritmo no se puede ejecutar :-( La carpeta de GRASS 7 especificada "C: \ OSGEO4 ~ 1 \ bin \ bin" no contiene un conjunto válido de módulos de GRASS 7. Por favor, vaya al cuadro de diálogo Configuración de procesamiento y verifique que GRASS 7 carpeta está configurada correctamente
Parece que el camino no existe, pero no pude encontrar un lugar para cambiarlo; ya no es una opción en la configuración de procesamiento como en las versiones 2.x.
¿Hay alguna manera de ejecutar esos scripts de procesamiento en QGIS 3.6 y, de ser así, cómo podría modificar la configuración necesaria?
Editar: así es como se ven mis opciones de procesamiento
Respuestas:
Si abro QGIS con el acceso directo "QGIS Desktop 3.6.0 con GRASS 7.6.0", todo funciona bien. Si abro QGIS con el acceso directo "QGIS Desktop 3.6.0" obtengo el mismo error que usted
fuente
grass
paquete con OSGEO4w.QGIS Desktop x.x.x with GRASS x.x.x
opción en absoluto. Solo tengo laQGIS Desktop
opción. ¿Qué podría estar mal?call "%OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat"
a mi archivo por lotes qgis y las herramientas de pasto funcionan. Por supuesto, el camino debe ser correcto y la línea debe aparecer después de esa líneacall "%~dp0\o4w_env.bat"
Tuve el mismo problema, pero logré resolverlo cambiando el nombre de mi carpeta de hierba de "grass76" a grass-7.6.0 ".
fuente
Con respecto a una parte de tu pregunta
puede administrar la ruta de la carpeta de trabajo GRASS a través de
Basado en la versión QGIS 3.0.3
donde puede ajustar el
'GRASS7 folder'
, simplemente haga doble clic en él.Y, por cierto, GRASS funciona bien en mi versión QGIS 3.0.3.
fuente
Según este artículo de grasswiki, la configuración de la variable de entorno del sistema operativo GISBASE en la carpeta de instalación de GRASS podría solucionar el problema (por ejemplo, C: \ OSGeo4W \ apps \ grass \ grass76).
Las opciones de procesamiento de QGIS 3.8 todavía no contienen una opción para la carpeta GRASS.
Me refiero al sistema operativo Windows y QGIS 3.8 / GRASS 7.6.
fuente
Para mí, parece que faltan algunas variables de entorno al iniciar los qgis "normales". Lo arreglé en QGIS 3.4.13 cambiando qgis-ltr-bin.env y qgis-ltr.bat . En la versión 3.6, 3.8 (...) estos dos archivos tendrán un nombre diferente pero similar. Si tu
haga clic derecho en el icono de inicio de qgis> abrir la ruta del archivo
esto debería llevarlo a ... \ OSGeo4W64 \ bin o donde haya instalado qgis. Encontrarás los dos archivos allí. Ábralos con un editor de texto estándar (por ejemplo, un bloc de notas) para realizar cambios:
qgis-ltr-bin.env :
en qgis-ltr.bat :
call "%OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat"
(tal vez la carpeta de hierba tiene un nombre diferente en su versión)fuente
El mismo arreglo que @Friedemann funcionó en QGIS 3.10 con la carpeta C: \ OSGeo4W64 \ apps \ grass \ grass78 cambiada a C: \ OSGeo4W64 \ apps \ grass \ grass-7.8.0ACTUALIZACIÓN: la solución simple de cambio de nombre de carpeta permitió que las funciones de la caja de herramientas de hierba se abrieran en QGIS 3.10. Sin embargo, cuando se ejecuta, todas las operaciones de GRASS fallaron con el siguiente error en el registro:
Entonces, intenté configurar la variable de entorno de Windows (usando el nombre de la carpeta GRASS revertido a 'grass78'), como se describe en otra respuesta, y las operaciones GRASS ahora se ejecutan correctamente en QGIS. Esta parece ser la solución adecuada.
fuente
Otra solución para usar GRASS en el procesamiento de ToolBox (con QGIS) es buscar en
C:\OSGeo4W64\apps\qgis\python\processing\algs\grass7\
el archivoGrass7Utils.py
y reemplazar los términos:grass-7.
porgrass7
en el código ubicado en la línea 223 o por ahífor version in ['', '7', '76', '74', '72', '71', '70']:
"porfor version in ['', '7', '78', '76', '74', '72', '71', '70']:
en el código ubicado en la línea 229 o por ahí.fuente