Le 23/01/19 à 13:11, Neal Becker a écrit :
dieter wrote:
Vincent Vande Vyvre <vincent.vande.vy...@telenet.be> writes:
.....
To load external C/C++ shared objects, the dynamic lickage loader
(ldd) is used. "ldd" does not look at Pthon's "sys.path".
Unless configured differently, it looks at standard places
(such as "/usr/lib/x86_64-linux-gnu").
You have several options to tell "ldd" where to look for
shared objects:
* use the envvar "LD_LIBRARY_PATH"
This is a "path variable" similar to the shell's "PATH",
telling the dynamic loader in which directories (before
the standard ones) to look for shared objects
* use special linker options (when you link your Python
extension shared object) to tell where dependent shared
object can be found.
To follow up on that last point, look up --rpath and related.
Trying the first solution with "export
LD_LIBRARY_PATH=/home/vincent/CPython/py370_venv/lib" has no effect.
The second solution is better, after looking de doc of
distutils.core.Extension I've added this line into my setup.py
Extension('libexiv2python',
...,
runtime_library_dirs=['/home/vincent/CPython/py370_venv/lib/'],
...
rebuild, install and test
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyexiv2
>>>
Great!
Many thanks,
Vincent
--
https://mail.python.org/mailman/listinfo/python-list