OSDir


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Symbol not found: _PyCObject_Type (MacOS El Capitan, Python 3.6)


Hi Wes,

Thank you for your suggestion. Clearing out CMake temporary files, and
rebuilding them again, helps fixing the issue. I am so glad I have a
working dev environment now. Thanks again!

On Tue, May 15, 2018 at 9:45 PM Wes McKinney <wesmckinn@xxxxxxxxx> wrote:

> hi Quang -- I recommend clearing out your CMake temporary files after
> making any conda environment changes. If you activate a different
> conda environment, CMake will not know to recompute variables related
> to Python's header files and libraries. So it might have been that you
> invoked CMake with Python 2 activated and later activated Python 3
>
> - Wes
>
> On Tue, May 15, 2018 at 5:15 AM, Quang Vu <vhquang@xxxxxxxxx> wrote:
> > Yes Antoine, that happens when compiling Arrow under an activated conda
> > environment.
> > Thank you for all the info you are helping me with!
> >
> > Quang.
> >
> > On Mon, May 14, 2018 at 3:34 PM Antoine Pitrou <antoine@xxxxxxxxxx>
> wrote:
> >
> >>
> >> To give a bit more insight: you should compile Arrow with your conda
> >> environment activated, so that it picks the right Python version (3.6.5,
> >> in your case).  If it's still picking the wrong Python version, that
> >> might be a bug.
> >>
> >> Regards
> >>
> >> Antoine.
> >>
> >>
> >> Le 14/05/2018 à 20:50, Quang Vu a écrit :
> >> > Thanks Antoine,
> >> >
> >> > I will need to learn more about the compiling process that happens on
> my
> >> > Mac, to see how that link to Python 2.
> >> >  I am not familiar with that process. But this is a good pointer for
> my
> >> > issue. Thank you for your response to my issue!
> >> >
> >> > Quang.
> >> >
> >> > On Mon, May 14, 2018 at 12:50 PM Antoine Pitrou <antoine@xxxxxxxxxx>
> >> wrote:
> >> >
> >> >>
> >> >> Hi Quang,
> >> >>
> >> >> It sounds like you have compiled Arrow against a Python 2 install but
> >> >> are now trying to use it with Python 3.  This won't work, the same
> >> >> Python version must be used when compiling and when using PyArrow.
> >> >>
> >> >> ("PyCObject" is a Python 2-specific API that doesn't exist anymore in
> >> >> Python 3)
> >> >>
> >> >> Regards
> >> >>
> >> >> Antoine.
> >> >>
> >> >>
> >> >> Le 14/05/2018 à 18:34, Quang Vu a écrit :
> >> >>> Hi Arrow dev,
> >> >>>
> >> >>> I am having trouble with installing and setting my development
> >> >> environment
> >> >>> for Arrow. I wonder if anyone is familiar with the issue. My system
> >> info:
> >> >>> - MacOS 10.11.6 (El Capitan)
> >> >>> - conda 4.5.1
> >> >>> - python 3.6.5
> >> >>> - arrow's current commit: 4b8511
> >> >>>
> >> >>> Installing Arrow C++ libraries and Pacquet are both successful. But
> >> >>> importing `pyarrow` fail:
> >> >>>
> >> >>> $ python -c 'import pyarrow'
> >> >>>
> >> >>> Traceback (most recent call last):
> >> >>>   File "<string>", line 1, in <module>
> >> >>>   File "/Users/myuser/code/arrow/python/pyarrow/__init__.py", line
> 47,
> >> in
> >> >>> <module>
> >> >>>     from pyarrow.lib import cpu_count, set_cpu_count
> >> >>> ImportError: dlopen(/Users/myuser/code/arrow/python/pyarrow/
> >> >>> lib.cpython-36m-darwin.so, 2): Symbol not found: _PyCObject_Type
> >> >>>   Referenced from:
> >> >>>
> /Users/myuser/miniconda3/envs/pyarrow-test/lib/libarrow_python.10.dylib
> >> >>>   Expected in: flat namespace
> >> >>>  in
> >> >>
> /Users/myuser/miniconda3/envs/pyarrow-test/lib/libarrow_python.10.dylib
> >> >>>
> >> >>> If anyone have suggestion on what the problem is about, please let
> me
> >> >> know.
> >> >>> Thanks!
> >> >>>
> >> >>
> >> >
> >>
>