Hm...
Did you initialize the session, e.g. like:
with Session(gisdb="/tmp", location="location", create_opts="EPSG:4326"):
from grass.pygrass.vector import Vector
Cheers
Stefan
From: grass-user <[email protected]> On Behalf Of Manuele
Pesenti
Sent: tirsdag 24. august 2021 09:38
To: Grass User <[email protected]>
Subject: Re: [GRASS-user] Error import from grass.pygrass.vector library
Drear Stefan,
thanks for your quick reply but the solution is not so clear, I already use
grass_session library even if not reported in the attached example, how can it
helps with the issue? Just import the vector library after the session is
loaded does not solve as far as I've tested.
Cheers
Manuele
---- Attivato ven, 20 ago 2021 21:26:22 +0200 Stefan Blumentrath
<[email protected]<mailto:[email protected]>> ha scritto ----
Dear Manuele,
For ctypes in pygrass, the C-libraries need to be loaded explicitly.
You could have a look here:
https://github.com/zarch/grass-session/blob/6097f834be20ee0d703deb2af90f22d6dc66f368/grass_session/session.py#L332<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fzarch%2Fgrass-session%2Fblob%2F6097f834be20ee0d703deb2af90f22d6dc66f368%2Fgrass_session%2Fsession.py%23L332&data=04%7C01%7C%7C5490515dd62a4bc57acf08d966d433e6%7C6cef373021314901831055b3abf02c73%7C0%7C0%7C637653884462405890%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=V0ecwomhbdvobU2B3tal1udBRXj5jkvWwN9e4K0dKSw%3D&reserved=0>
to see how it can be done, or just use the grass_session python library (pip
install grass-session) for convenience...
Cheers
Stefan
From: grass-user
<[email protected]<mailto:[email protected]>>
On Behalf Of Manuele Pesenti
Sent: fredag 20. august 2021 16:40
To: grass-user <[email protected]<mailto:[email protected]>>
Subject: [GRASS-user] Error import from grass.pygrass.vector library
Dear All,
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.
I work on a Ubuntu/Linux environment and I've installed grass using apt, this
is the test script I'm currently running:
# -*- coding: utf-8 -*-
import os, sys
GISBASE = '/usr/lib/grass78'
GRASSBIN = '/usr/bin/grass78'
# Define GRASS-Python environment
os.environ['GISBASE'] = GISBASE
os.environ['GRASSBIN'] = GRASSBIN
sys.path.append(os.path.join(GISBASE, "etc", "python"))
from grass_session import Session
import grass.script as gs
print(f"LD_LIBRARY_PATH: {os.environ['LD_LIBRARY_PATH']}")
print(f"GRASSBIN: {os.environ['GRASSBIN']}")
from grass.pygrass.vector import Vector
print('DONE!')
and this is the output:
$ python import_test.py
LD_LIBRARY_PATH: /usr/lib/grass78/lib
GRASSBIN: /usr/bin/grass78
Traceback (most recent call last):
File "/usr/lib/grass78/etc/python/grass/lib/ctypes_loader.py", line 76, in
load
return ctypes.cdll.LoadLibrary(path)
File "/usr/lib/python3.9/ctypes/__init__.py", line 452, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libgrass_datetime.7.8.so: cannot open shared object file: No such file
or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/manuele/Lavoro/ETS/ETSCore/scripts/import_test.py", line 21, in
<module>
from grass.pygrass.vector import Vector
File "/usr/lib/grass78/etc/python/grass/pygrass/vector/__init__.py", line 5,
in <module>
import grass.lib.gis as libgis
File "/usr/lib/grass78/etc/python/grass/lib/gis.py", line 23, in <module>
_libs["grass_gis.7.8"] = load_library("grass_gis.7.8")
File "/usr/lib/grass78/etc/python/grass/lib/ctypes_loader.py", line 62, in
load_library
return self.load(path)
File "/usr/lib/grass78/etc/python/grass/lib/ctypes_loader.py", line 78, in
load
raise ImportError(e)
ImportError: libgrass_datetime.7.8.so: cannot open shared object file: No such
file or directory
Thank you very mutch for any help
Cheers
Manuele
_______________________________________________
grass-user mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-user