[英]Error: “Undefined symbol” when trying to import pyarrow/feather
[英]Linux pyarrow undefined symbol
我正在运行 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
从 SO 上的其他线程,我认为这是由于编译器不兼容造成的。 我不是开发人员,所以我不确定如何解决这个问题。
我建议在https://issues.apache.org/jira/projects/ARROW/issues/ARROW-4774?filter=allopenissues开一张票
提供您如何安装 pyarrow(pip 或 conda),哪个发行版的 linux。 如果你能在干净的环境中重现这一点,那就更好了。
通过 conda install 安装后我遇到了同样的错误,在我卸载 conda 后,我做了 pip install,问题就消失了。
>>> 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
然后我点安装
(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.
>>>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.