Hi Robin, You could try setting the GRASS_PYTHON environment variable to your Python installation with fmask.
import os os.environ['GRASS_PYTHON'] = '/YOUR/PYTHON/PATH' As Markus indicates that can cause other issues. You may also have a look at https://github.com/zarch/grass-session for inspiration. Hope that gives you at least a lead... Cheers Stefan -----Original Message----- From: grass-user <[email protected]> On Behalf Of Robin Kohrs Sent: tirsdag 31. mars 2020 09:25 To: Markus Neteler <[email protected]> Cc: GRASS user list <[email protected]> Subject: Re: [GRASS-user] Install package for add-on in /usr/bin/python3 Hi Markus, thank you very much for your answer and the help! Do you have any idea what I could do to make the fmask-package "locatable" for the python-interpreter that grass is using? I tried the following options, but I guess I just don't know sufficiently about how python and grass really work together: My python-script looks more or less like this: --------------------------------------- #!/usr/bin/env python3 import sys print("SYS PATH") print(sys.path) print("") print("SYS EXECUTABLE") print(sys.executable) import grass.script as grass from rios import fileinfo # that's where it fails from fmask import fmask --------------------------------------- That's why I tried until now: - I created an environment with conda and installed python-fmask via "conda install -c conda-forge python-fmask". The function "fmask_sentinel2Stacked.py" lies in "/home/robin/miniconda3/bin/fmask_sentinel2Stacked.py". - When I open an interactive python-shell and import fmask and rios and the type: "fmask.__file__" it gives me "/home/robin/miniconda3/envs/fmask/lib/python3.7/site-packages/fmask/__init__.py" - I then added "/home/robin/miniconda3/envs/fmask/lib/python3.7/site-packages/" to the variable PYTHONPATH in my .bashrc - When I now start the interpreter that grass uses from the command line by typing "/usr/bin/pyton3" I can import fmask and rios - However when I run the script with grass it always says that there is no package names rios. Moreover the path I added to PYTHONPATH is not printed when it executes "sys.path" in my grass script I'm sorry for this little confusing question. But in case someone has any idea how I could make grass find fmask, would be super highly appreciated:) thanks a lot in advance! Cheers Robin Citando Markus Neteler <[email protected]>: > Hi Robin, > > On Sat, Mar 21, 2020 at 6:15 PM Robin Kohrs <[email protected]> wrote: >> >> >> Hi everyone:) >> I'm really sorry for this naive question. I'm kind of starting with >> GRASS and I just can't find a solution... >> The issue is, that I would like to try to write a little GRASS Add-on >> and use the python-fmask package. While this package is only >> downloadable via conda it always installs into >> `/home/user/miniconda3/bin/python3`. Even when I did `conda >> deactivate` prior to this. > > I guess that mixing conda packages and "regular" ones is causing troubles. > >> When I then have the import statement `import fask` in the >> grass-script it always throws an error, saying that fmask is not >> installed. When I print the `sys.executable` in the grass-script it >> tells me that the interpreter is in `usr/bin/python3`. So I thought >> that I'd install the fmask-package in a way that this interpreter can >> find it while executing the script. But I just don't know how. I can >> add the fmask-path to sys.path, but I don't think this is the >> solution. Maybe someone has a pointer what I'm not getting. > > There is also the environment variable PYTHONPATH which could be set > in the session. > But again, mixing might cause problems. > > Now I wanted to check > http://pythonfmask.org/en/latest/#downloads > but the server is down... > >> Hope everyone is good these days:)! > > Good luck everyone, > > Markus _______________________________________________ grass-user mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-user _______________________________________________ grass-user mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-user
