Hi Alex,

Yes indeed. Would be nice to avoid that.

There is actually an open pull request about it:
https://github.com/zarch/grass-session/pull/12/files
However, I guess a completely version independent solution would be 
preferable...

With Python 3 shutil.which() will be available also on Windows, however, in 
OSGeo4W, a version independent "grass.bat" does not seem to be available.
So, currently, for Windows, it is inevitable to include versions. Could be done 
like this:

def get_grassbin():
    """Find GRASS GIS startup binary"""
    from shutil import which

    grassbin = which('grass')
    if not grassbin:
        for v in range(71, 80):
            grassbin_version = which('grass{}'.format(v))
            if grassbin_version:
                grassbin = grassbin_version

    return grassbin
get_grassbin()

Not sure when the GRASSBIN variable is set, I guess during startup of GRASS. So 
when you run grass-session from within GRASS the variable should be set (just 
guessing though)...

Cheers
Stefan

From: grass-user <[email protected]> On Behalf Of Moody, Alex
Sent: fredag 16. august 2019 01:00
To: [email protected]
Subject: [GRASS-user] GRASSBIN environment variable

Hi all - I am trying out the grass-session package for the first time and am 
having issues with the GRASSBIN environment variable. It looks like the 
grass-session I was able to download references grass75svn.bat. I'm onto 
grass76.

I was able to get around this in a python session with 
os.environ['GRASSBIN']=D:\<mypath>\grass76.bat, but it'd be nice to not have to 
do that.

If I run "set GRASS" from the command line, I see that 
GRASSBIN=D:\<mypath>\grass75svn.bat even GRASS_VERSION=7.6.1

Where is the GRASSBIN variable set? I've been looking around and can't seem to 
find it.

Cheers,
Alex
_______________________________________________
grass-user mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to