I built a multi-language library based on arrow and the python
implementation used arrow cython and c++ api. I want my library to be
compatible with multiple pyarrow versions. But the dynamic library in my
python implementation depended on `libarrow.xxx.dylib` and for every
pyarrow version the `libarrow.xxx.dylib` is different. What can I do to
make my library compatible with multiple pyarrow versions?
When using a different pyarrow version with the version that my library was
built with. I got the following error:
======================================================================================
ERRORS
ImportError while importing test module
'/Users/chaokunyang/ant/Development/DevProjects/fury/python/pyfury/tests/test_vectorized.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../../../../../opt/anaconda3/lib/python3.8/importlib/__init__.py:127: in
import_module
    return _bootstrap._gcd_import(name[level:], package, level)
pyfury/__init__.py:53: in <module>
    from pyfury._fury import create_row_encoder, RowData, ArrowWriter
E   ImportError:
dlopen(/Users/chaokunyang/ant/Development/DevProjects/fury/python/pyfury/_fury.so,
2): Library not loaded: @rpath/libarrow.100.dylib
E     Referenced from:
/Users/chaokunyang/ant/Development/DevProjects/fury/python/pyfury/_fury.so
E     Reason: image not found

My library was built with pyarrow==1.0.0, when I use pyarrow>=2.0.0, I got
upper errors.

Reply via email to