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.