[Qgis-user] QGIS 3.4.2/GRASS

Martin Bittens martin.bittens at gmx.de
Tue Dec 11 02:22:04 PST 2018


Luigi Pirelli,

thank you so much for your hints.

My QGIS 3.4.2 /GRASS installation is as follows:

PATH=C:\OSGEO4~1\apps\qgis\bin;C:\OSGEO4~1\apps\grass\grass-7.4.2\lib;C:\OSGEO4~1\apps\grass\grass-7.4.2\bin;C:\OSGEO4~1\apps\Python37;C:\OSGEO4~1\apps\Python37\Scripts;C:\OSGEO4~1\apps\qt5\bin;C:\Rtools\bin;C:\Rtools\mingw_32\bin;C:\Rtools\mingw_64\bin;C:\Program 
Files\MiKTeX 
2.9\miktex\bin;C:\OSGEO4~1\apps\Python27\Scripts;C:\OSGEO4~1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBem;C:\OSGEO4~1\apps\msys\bin;C:\Program 
Files\R\R-3.4.4\bin\x64;C:\Program Files\RStudio\bin
GDAL_DATA=C:\OSGEO4~1\share\gdal
GDAL_DRIVER_PATH=C:\OSGEO4~1\bin\gdalplugins
GDAL_FILENAME_IS_UTF8=YES
GEOTIFF_CSV=C:\OSGEO4~1\share\epsg_csv
GISBASE=C:\OSGEO4~1\apps\grass\grass-7.4.2
GRASS_PROJSHARE=C:\OSGEO4~1\share\proj
GRASS_PYTHON=C:\OSGEO4~1\bin\python.exe
JPEGMEM=1000000
OSGEO4W_ROOT=C:\OSGEO4~1
PROJ_LIB=C:\OSGEO4~1\share\proj
PYTHONHOME=C:\OSGEO4~1\apps\Python37
QGIS_PREFIX_PATH=C:/OSGEO4~1/apps/qgis
QT_PLUGIN_PATH=C:\OSGEO4~1\apps\qgis\qtplugins;C:\OSGEO4~1\apps\qt5\plugins
QT_RASTER_CLIP_LIMIT=4096
VSI_CACHE=TRUE
VSI_CACHE_SIZE=1000000
O4W_QT_PREFIX=C:/OSGEO4~1/apps/Qt5
O4W_QT_BINARIES=C:/OSGEO4~1/apps/Qt5/bin
O4W_QT_PLUGINS=C:/OSGEO4~1/apps/Qt5/plugins
O4W_QT_LIBRARIES=C:/OSGEO4~1/apps/Qt5/lib
O4W_QT_TRANSLATIONS=C:/OSGEO4~1/apps/Qt5/translations
O4W_QT_HEADERS=C:/OSGEO4~1/apps/Qt5/include

I am not sure if these settings are those you want to see. If you do 
need more, please let me know.

As far as I understood the QGIS 3.4.2 settings GRASS 7.4.2 should be 
used. After I read your comment on the path issues I checked the 
/apps/grass folder. 3 different versions are installed there:

grass-6.4.3

grass-7.4.2

grass-7.7.svn

In accordance to your advice I removed the .svn term from the GRASS 7.7 
folder name and - it works. I can use now the GRASS commands in QGIS 
3.4.2. Additionally I changed in the same way the folder name in the 
grass77svn.bat and the related env.bat using GRASS 7.7.svn as a 
stand-alone application as well.

I am  wondering which GRASS version QGIS 3.4.2 actually is using? 
Unfortunately in the QGIS 3.4.2 menu 
Settings/Options/Processing/Providers/GRASS there is no longer an option 
available that allows to define the path to the correct GRASS version 
(as it was in QGIS 3.2.1 - which was my last QGIS 3 version).

Best regards

Martin


Am 12/10/2018 um 4:48 PM schrieb Luigi Pirelli:
> processing Grass7Utils.py is trying to understand the grass folders 
> assuming that the path is something like grass-<dot version as 7.4>... 
> in your case this path is grass-svn => bang! trying to convert it as 
> int! it's, I'm almost sure, a bug... can you fill an issue in 
> https://issues.qgis.org/projects/qgis/issues/new
>
> the fix is simple, but please share more about what is your qgis 
> installation and grass configuration
>
> regards
>
> Luigi Pirelli
>
> **************************************************************************************************
> * LinkedIn: https://www.linkedin.com/in/luigipirelli
> * Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
> * GitHub: https://github.com/luipir
> * Mastering QGIS 2nd Edition:
> * 
> https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition
> * Hire me: http://goo.gl/BYRQKg
> **************************************************************************************************
>
>
> On Mon, 10 Dec 2018 at 19:09, Martin Bittens <martin.bittens at gmx.de 
> <mailto:martin.bittens at gmx.de>> wrote:
>
>     Hello!
>
>     Today I made an update to QGIS 3.4.2 and now I can't use anymore the
>     GRASS commands in the toolbox The following python error message
>     appears
>     when I try to open a GRASS command:
>
>     2018-12-10T16:00:28     WARNING    Traceback (most recent call last):
>                    File
>     "C:/OSGEO4~1/apps/qgis/./python/plugins\processing\gui\ProcessingToolbox.py",
>
>     line 223, in executeAlgorithm
>                    ok, message = alg.canExecute()
>                    File
>     "C:/OSGEO4~1/apps/qgis/./python/plugins\processing\algs\grass7\Grass7Algorithm.py",
>
>     line 1020, in canExecute
>                    message = Grass7Utils.checkGrassIsInstalled()
>                    File
>     "C:/OSGEO4~1/apps/qgis/./python/plugins\processing\algs\grass7\Grass7Utils.py",
>
>     line 468, in checkGrassIsInstalled
>                    if Grass7Utils.installedVersion() is not None:
>                    File
>     "C:/OSGEO4~1/apps/qgis/./python/plugins\processing\algs\grass7\Grass7Utils.py",
>
>     line 98, in installedVersion
>                    if Grass7Utils.grassBin() is None:
>                    File
>     "C:/OSGEO4~1/apps/qgis/./python/plugins\processing\algs\grass7\Grass7Utils.py",
>
>     line 153, in grassBin
>                    path = Grass7Utils.grassPath()
>                    File
>     "C:/OSGEO4~1/apps/qgis/./python/plugins\processing\algs\grass7\Grass7Utils.py",
>
>     line 212, in grassPath
>                    grassfolders = sorted([f for f in
>     os.listdir(testfolder)
>     if f.startswith("grass-7.") and
>     os.path.isdir(os.path.join(testfolder,
>     f))], reverse=True, key=lambda x: [int(v) for v in
>     x[len("grass-"):].split('.')])
>                    File
>     "C:/OSGEO4~1/apps/qgis/./python/plugins\processing\algs\grass7\Grass7Utils.py",
>
>     line 212, in
>                    grassfolders = sorted([f for f in
>     os.listdir(testfolder)
>     if f.startswith("grass-7.") and
>     os.path.isdir(os.path.join(testfolder,
>     f))], reverse=True, key=lambda x: [int(v) for v in
>     x[len("grass-"):].split('.')])
>                    File
>     "C:/OSGEO4~1/apps/qgis/./python/plugins\processing\algs\grass7\Grass7Utils.py",
>
>     line 212, in
>                    grassfolders = sorted([f for f in
>     os.listdir(testfolder)
>     if f.startswith("grass-7.") and
>     os.path.isdir(os.path.join(testfolder,
>     f))], reverse=True, key=lambda x: [int(v) for v in
>     x[len("grass-"):].split('.')])
>                   ValueError: invalid literal for int() with base 10:
>     'svn'
>
>
>     The GRASS plug-in is working (with GRASS 7.4.2). I am running a
>     Windows
>     10 machine.
>
>     Does anybody know how to solve the problem?
>
>     Thank very much
>
>
>     Martin
>
>
>     ---
>     This email has been checked for viruses by Avast antivirus software.
>     https://www.avast.com/antivirus
>
>     _______________________________________________
>     Qgis-user mailing list
>     Qgis-user at lists.osgeo.org <mailto:Qgis-user at lists.osgeo.org>
>     List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>     Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20181211/a5c9158b/attachment.html>


More information about the Qgis-user mailing list