Hi Robin, The errors you encountered after setting the python path, occurred because fmask depends on another, non-standard Python package, namely rios (that would have to be added to the PYTHONPATH as well).
Yet, it seems there is some more interest in getting python-fmask (and thus also RIOS) available as a standard python package. See: https://github.com/ubarsc/python-fmask/issues/30 So, your problem might get solved "upstreams". Meanwhile you could install both packages manually into your standard Python installation as follows: wget https://github.com/ubarsc/rios/releases/download/rios-1.4.10/rios-1.4.10.zip unzip rios-1.4.10.zip cd rios-1.4.10/ sudo python setup.py install cd .. wget https://github.com/ubarsc/python-fmask/releases/download/pythonfmask-0.5.4/python-fmask-0.5.4.zip unzip -q python-fmask-0.5.4.zip cd python-fmask-0.5.4/ python setup.py build sudo python setup.py install For me (on Ubuntu 18.04) this gives: $ ipython Python 3.6.8 (default, Oct 7 2019, 12:59:55) Type 'copyright', 'credits' or 'license' for more information IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: import fmask In [2]: fmask.__version__ Out[2]: '0.5.4' In [3]: import rios In [4]: rios.__version__ Out[4]: '1.4.10' Cheers Stefan -----Original Message----- From: Robin Kohrs <[email protected]> Sent: tirsdag 31. mars 2020 15:42 To: Stefan Blumentrath <[email protected]> Cc: Markus Neteler <[email protected]>; GRASS user list <[email protected]> Subject: Re: [GRASS-user] Install package for add-on in /usr/bin/python3 Hi Stefan, thank you very much for the effort and the patience in answering! I'll definitely give this a try. I already have so many issues on my computer, one more doesn't matter;) thanks again and best regards, Robin Citando Stefan Blumentrath <[email protected]>: > 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
