<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.font
        {mso-style-name:font;}
span.highlight
        {mso-style-name:highlight;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="NO-BOK" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Dear Manuele,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">For ctypes in pygrass, the C-libraries need to be loaded explicitly.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">You could have a look here:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><a href="https://github.com/zarch/grass-session/blob/6097f834be20ee0d703deb2af90f22d6dc66f368/grass_session/session.py#L332">https://github.com/zarch/grass-session/blob/6097f834be20ee0d703deb2af90f22d6dc66f368/grass_session/session.py#L332</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">to see how it can be done, or just use the grass_session python library (pip install grass-session) for convenienceā€¦<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Cheers<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Stefan<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> grass-user <grass-user-bounces@lists.osgeo.org>
<b>On Behalf Of </b>Manuele Pesenti<br>
<b>Sent:</b> fredag 20. august 2021 16:40<br>
<b>To:</b> grass-user <grass-user@lists.osgeo.org><br>
<b>Subject:</b> [GRASS-user] Error import from grass.pygrass.vector library<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif">Dear All,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif">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.
<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif">I work on a Ubuntu/Linux environment and I've installed grass using apt, this is the test script I'm currently running:
<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC"># -*- coding: utf-8 -*-</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">import os, sys</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">GISBASE = '/usr/lib/grass78'</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">GRASSBIN = '/usr/bin/grass78'</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC"># Define GRASS-Python environment</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">os.environ['GISBASE'] = GISBASE</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">os.environ['GRASSBIN'] = GRASSBIN</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">sys.path.append(os.path.join(GISBASE, "etc", "python"))</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">from grass_session import Session</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">import grass.script as gs</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">print(f"LD_LIBRARY_PATH: {os.environ['LD_LIBRARY_PATH']}")</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">print(f"GRASSBIN: {os.environ['GRASSBIN']}")</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">from grass.pygrass.vector import Vector</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#CCCCCC">print('DONE!')</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif">and this is the output:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">$ python import_test.py
</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">LD_LIBRARY_PATH: /usr/lib/grass78/lib</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">GRASSBIN: /usr/bin/grass78</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">Traceback (most recent call last):</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">  File "/usr/lib/grass78/etc/python/grass/lib/ctypes_loader.py", line 76, in load</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">    return ctypes.cdll.LoadLibrary(path)</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">  File "/usr/lib/python3.9/ctypes/__init__.py", line 452, in LoadLibrary</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">    return self._dlltype(name)</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">  File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">    self._handle = _dlopen(self._name, mode)</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">OSError: libgrass_datetime.7.8.so: cannot open shared object file: No such file or directory</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">During handling of the above exception, another exception occurred:</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">Traceback (most recent call last):</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">  File "/home/manuele/Lavoro/ETS/ETSCore/scripts/import_test.py", line 21, in <module></span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">    from grass.pygrass.vector import Vector</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">  File "/usr/lib/grass78/etc/python/grass/pygrass/vector/__init__.py", line 5, in <module></span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">    import grass.lib.gis as libgis</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">  File "/usr/lib/grass78/etc/python/grass/lib/gis.py", line 23, in <module></span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">    _libs["grass_gis.7.8"] = load_library("grass_gis.7.8")</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">  File "/usr/lib/grass78/etc/python/grass/lib/ctypes_loader.py", line 62, in load_library</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">    return self.load(path)</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">  File "/usr/lib/grass78/etc/python/grass/lib/ctypes_loader.py", line 78, in load</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="font"><span style="font-size:10.0pt;font-family:"Courier New"">    raise ImportError(e)</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="highlight"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:#FFCC99">ImportError: libgrass_datetime.7.8.so: cannot open shared object file: No such file or directory</span></span><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif">Thank you very mutch for any help<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif">Cheers<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif">      Manuele<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif"><o:p> </o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>