Linux Pyarrow未定义的符号



我正在运行python 3.7.2,并使用miniconda3创建一个名为 test-env的新环境。我已将默认通道的pyarrow软件包安装到此环境中;但是,当我尝试和import pyarrow时,Python解释器给我一个不确定的符号错误:

Import Error: /test-env/lib/python3.7/site-packages/pyarrow/lib.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZNK5arrow6Status8ToStringB5cxx11Ev

从其他线程中,我收集到这是由于编译器不兼容所致。我不是开发人员,所以我不确定如何解决此问题。

我安装了Conda安装后,我的错误是相同的错误,Conda卸载后,我进行了PIP安装,问题就消失了。

>>> import pyarrow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/dv6/anaconda3/envs/spark/lib/python3.6/site- 
  packages/pyarrow/__init__.py", line 54, in <module>
    from pyarrow.lib import cpu_count, set_cpu_count
  ImportError: /home/dv6/anaconda3/envs/spark/lib/python3.6/site- 
  packages/pyarrow/lib.cpython-36m-x86_64-linux-gnu.so: undefined symbol: 
  _ZNK5arrow5Field8B5cxx11Ev                                                                         
   >>> quit()

然后我conda卸载

(spark) dv6@dv6:~$ conda uninstall pyarrow

然后我pip安装

(spark) dv6@dv6:~$ pip install pyarrow --user
Collecting pyarrow
  Downloading pyarrow-0.16.0-cp36-cp36m-manylinux2014_x86_64.whl (63.1 MB)
     |████████████████████████████████| 63.1 MB 25 kB/s
Requirement already satisfied: numpy>=1.14 in 
./anaconda3/envs/spark/lib/python3.6/site-packages (from pyarrow) (1.18.1)
Requirement already satisfied: six>=1.0.0 in 
./anaconda3/envs/spark/lib/python3.6/site-packages (from pyarrow) (1.14.0)
Installing collected packages: pyarrow
Successfully installed pyarrow-0.16.0
(spark) dv6@dv6:~$ python -c "import pyarrow"
(spark) dv6@dv6:~$

这是我的python版本

(spark) dv6@dv6:~$ python
Python 3.6.10 |Anaconda, Inc.| (default, Jan  7 2020, 21:14:29)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

我建议我在https://issues.apache.org/jira/projects/arrow/isrow/issues/arrow-47774?filter = allopeNissues

提供您如何安装Pyarrow(PIP或CONDA),该分布的Linux分布。如果您可以在干净的环境中复制它,甚至更好。

最新更新