Opened 3 years ago
Last modified 3 years ago
#734 closed defect
GISBASE Environment not set — at Initial Version
Reported by: | aharfoot | Owned by: | |
---|---|---|---|
Priority: | minor | Component: | Installer |
Version: | Keywords: | ||
Cc: |
Description ¶
When I install QGIS LTR 3.22.4 using the package based installer (individual packages, not the meta-package) along with GRASS 7.8 and run the C:\OSGeo4W\bin\qgis-ltr-bin.exe, the GRASS processing provider is broken, and trying to run any GRASS processing tool gives the following error:
This algorithm cannot be run :-( The specified GRASS 7 folder "C:\OSGeo4W\bin\bin" does not contain a valid set of GRASS 7 modules. Please, go to the Processing settings dialog, and check that the GRASS 7 folder is correctly configured
The same behaviour is not seen with the standalone QGIS installer.
From #47163 I can see that this message is returned by Grass7Utils.py, and after some exploration I discovered that this is because the GISBASE environment variable is not set.
If QGIS is launched via the batch file: C:\OSGeo4W\bin\qgis-ltr.bat, then GISBASE is correctly set and the GRASS processing tool function correctly.
The OSGeo4W package based installer creates a Windows shortcut that points to the C:\OSGeo4W\bin\qgis-ltr-bin.exe, and therefore when this is run, the bug exhibits itself.
Steps to reproduce the issue
With the OSGeo4W package installer, install QGIS LTR 3.22.4 along with GRASS 7.8 (7.8.7-1) on MS Windows. Load QGIS via the Start Menu shortcut. In QGIS, open the Processing panel and double click on a tool from the GRASS provider.
Check the status of the GISBASE environment variable through the QGIS python console by executing:
os.environ['GISBASE']
Environment:
QGIS: 3.22.4 GRASS: 7.8.7-1 OS: Windows 10 64bit