<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><div>Dear All,<br></div><div> <br></div><div>I'm moving my first steps on the development of a python script that uses Grass, but I cannot import from the grass.pygrass.vector library. <br></div><div>I work on a Ubuntu/Linux environment and I've installed grass using apt, this is the test script I'm currently running: <br></div><div><br></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"># -*- coding: utf-8 -*-</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">import os, sys</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">GISBASE = '/usr/lib/grass78'</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">GRASSBIN = '/usr/bin/grass78'</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"># Define GRASS-Python environment</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">os.environ['GISBASE'] = GISBASE</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">os.environ['GRASSBIN'] = GRASSBIN</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">sys.path.append(os.path.join(GISBASE, "etc", "python"))</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">from grass_session import Session</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">import grass.script as gs</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">print(f"LD_LIBRARY_PATH: {os.environ['LD_LIBRARY_PATH']}")</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">print(f"GRASSBIN: {os.environ['GRASSBIN']}")</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">from grass.pygrass.vector import Vector</span><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc"><br></span></span></div><div><span class="font" style="font-family: "courier new", courier, monospace, sans-serif;"><span class="highlight" style="background-color:#cccccc">print('DONE!')</span><br></span></div><div><br></div><div>and this is the output:<br></div><div><br></div><div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">$ python import_test.py </span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">LD_LIBRARY_PATH: /usr/lib/grass78/lib</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">GRASSBIN: /usr/bin/grass78</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">Traceback (most recent call last):</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">  File "/usr/lib/grass78/etc/python/grass/lib/ctypes_loader.py", line 76, in load</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">    return ctypes.cdll.LoadLibrary(path)</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">  File "/usr/lib/python3.9/ctypes/__init__.py", line 452, in LoadLibrary</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">    return self._dlltype(name)</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">  File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">    self._handle = _dlopen(self._name, mode)</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">OSError: libgrass_datetime.7.8.so: cannot open shared object file: No such file or directory</span><br></div><div><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">During handling of the above exception, another exception occurred:</span><br></div><div><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">Traceback (most recent call last):</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">  File "/home/manuele/Lavoro/ETS/ETSCore/scripts/import_test.py", line 21, in <module></span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">    from grass.pygrass.vector import Vector</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">  File "/usr/lib/grass78/etc/python/grass/pygrass/vector/__init__.py", line 5, in <module></span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">    import grass.lib.gis as libgis</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">  File "/usr/lib/grass78/etc/python/grass/lib/gis.py", line 23, in <module></span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">    _libs["grass_gis.7.8"] = load_library("grass_gis.7.8")</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">  File "/usr/lib/grass78/etc/python/grass/lib/ctypes_loader.py", line 62, in load_library</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">    return self.load(path)</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">  File "/usr/lib/grass78/etc/python/grass/lib/ctypes_loader.py", line 78, in load</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font">    raise ImportError(e)</span><br></div><div><span style="font-family: "courier new", courier, monospace, sans-serif;" class="font"><span style="background-color:#ffcc99" class="highlight">ImportError: libgrass_datetime.7.8.so: cannot open shared object file: No such file or directory</span></span><br></div></div><div><br></div><div>Thank you very mutch for any help<br></div><div><br></div><div>Cheers<br></div><div><br></div><div>      Manuele<br></div><div><br></div><div><br></div><div><br></div></div><br></body></html>