[GRASS-user] Install package for add-on in /usr/bin/python3

Robin Kohrs robin.kohrs at uni-jena.de
Tue Mar 31 06:42:28 PDT 2020


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 <Stefan.Blumentrath at nina.no>:

> 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 <grass-user-bounces at lists.osgeo.org> On Behalf Of  
> Robin Kohrs
> Sent: tirsdag 31. mars 2020 09:25
> To: Markus Neteler <neteler at osgeo.org>
> Cc: GRASS user list <grass-user at lists.osgeo.org>
> 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 <neteler at osgeo.org>:
>
>> Hi Robin,
>>
>> On Sat, Mar 21, 2020 at 6:15 PM Robin Kohrs <robin.kohrs at uni-jena.de> 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
> grass-user at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-user





More information about the grass-user mailing list