Hi there,
I am trying to package a python package generated by SWIG. The package contains the python module along with the shared libraries. For packaging I am using wheels. In particular, under the directory that contains the setup.py
, I do:
python -m build --wheel
When installing with pip
under my conda env everything works fine on Windows. However, under linux, when I am importing my module, I get the following ImportError
:
ImportError: my_module.so: cannot open shared object file: No such file or directory
The shared lib is located under $CONDA_PREFIX/lib/python3.11/site-packages/my_package
and the python3.so under $CONDA_PREFIX/lib
.
I understand that the system tries to find these shared libraries in default dirs (e.g. usr/lib, LD_LIBRARY_PATH, etc). Therefore, when I add these one under LD_LIBRARY_PATH
everything is working.
Is there any way to avoid this? Is there any way to create a symlink or anything like that when installing the python package with pip? I wouldn’t like the users to do that whenever they install my package.
Many thanks in advance and best regards,
Giorgos