Thanks for the suggestion. Seems It's the only solution. On Wed, Sep 1, 2021 at 10:02 PM Wes McKinney <wesmck...@gmail.com> wrote:
> There is no ABI stability between major versions of pyarrow either at > the Cython or C++ levels at the moment (furthermore, it seems unlikely > to be the case in the near future). I would recommend pinning the > pyarrow version you depend on and bumping the pin when new major > versions are released. > > On Wed, Sep 1, 2021 at 5:50 AM Shawn Yang <shawn.ck.y...@gmail.com> wrote: > > > > 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. >