Thank you that solved it with some tweaks.
I added GRASSBIN to my Environment variables populated with the grass bat file 
instead of GISBIN.  Then added 'lib', 'bin' and 'scripts' folders to PATH 
variable.  Once I did that that I was able to import grass_session and grass.
It appears to work fine without GISRC set.
Ellen


From: Sajid Pareeth <spare...@gmail.com>
Sent: Wednesday, July 29, 2020 8:10 AM
To: Markus Neteler <nete...@osgeo.org>
Cc: DAmico, Ellen <damico.el...@epa.gov>; GRASS user list 
<grass-user@lists.osgeo.org>
Subject: Re: [GRASS-user] Using grass libraries in python outside of GRASS

Hi

> > The model I need to use (which I did not write) requires python 2.7.
> > I had tried pip install previously but then it still fails with 
> > ImportError: No module named grass.script.
> > Do you know what could be causing that?

Interestingly, our docker containers just started to suffer from a
similar (same?) problem:

File "/scripts/test_grass_session.py", line 3, in <module>
import grass.script as grass
ModuleNotFoundError: No module named 'grass'

Weird, we need to investigate.

Grass_session works for me with both python2.7 and 3 in a Osgeo environment 
with grass 7.8.3
For me, the import modules work in this order in both python versions after pip 
installation.

>>> import grass_session
>>> from grass_session import Session
>>> import grass.script as grass

For the final script to work, you will have to set environment variables, 
GISBIN (grass78 root folder) , GISRC (.grassrc78 file in demo location) and add 
grass78 'lib', 'bin' and 'scripts' folders to PATH variable.
I run the script in python 3, where it worked without setting GISBIN and GISRC 
variables. I have only tested this approach in Windows 10 yet, and should work 
fine in Linux as well.

Regards

Sajid


_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to