Python - 模块 'pyarrow' 没有属性 'Table' 错误

3

我正在使用带有Conda环境的Python,并安装了pyarrow:

conda install pyarrow

之后尝试以下代码:

import pyarrow as pa
import pandas as pd
df = pd.DataFrame({"a": [1, 2, 3]})
# Convert from Pandas to Arrow
table = pa.Table.from_pandas(df)
# Convert back to Pandas
df_new = table.to_pandas()

出现错误:

AttributeError: module 'pyarrow' has no attribute 'Table'

我尝试重新创建一个新的Conda环境(按照 https://anaconda.org/conda-forge/pyarrow 指示),然后运行:

conda create -n pypq python=3.6 anaconda
source activate pypq
conda install -c conda-forge pyarrow 

我遇到了相同的错误: AttributeError:模块“pyarrow”没有“Table”属性 可能出了什么问题?

请同时发布“conda”命令的输出链接,以便我们查看正在发生的情况。 - Uwe L. Korn
2个回答

2

您可能已经通过pipconda中的一个安装了pyarrow,或者是通过其中一个安装并使用另一个卸载了它。在这种情况下,您最好重新创建conda环境。同时,在重新创建此环境时,请注意仅使用defaults渠道或conda-forge渠道中的依赖包。混合这两个渠道也可能会导致问题,例如当同时安装libboostboost-cpp软件包时会出现问题。


那我应该创建一个新的 Conda 环境,并使用 conda install -c conda-forge pyarrow 安装它吗? - Joe
2
更新的问题 - 尝试重新创建 Conda 环境,仍然存在相同的问题... - Joe
正如我在答案中提到的,请不要将Anaconda的默认通道与“defaults”混淆。如果您已经从“defaults”创建了环境,请使用“conda install pyarrow”,或者使用“conda create -n pypq python=3.6 pandas numpy -c conda-forge”创建您的环境。 - Uwe L. Korn
尝试了以下命令:conda deactivate; conda remove -n pypq --all; conda create -n pypq python=3.6 pandas numpy -c conda-forge; conda activate pypq; python pyarrow.py;但是仍然得到相同的错误:AttributeError: module 'pyarrow' has no attribute 'Table' - Joe
另一个可能的来源是您在基本conda安装中安装了pyarrow。请尝试conda deactivate; conda uninstall pyarrow - Uwe L. Korn

0

我认为您的pyarrow库未成功安装。请尝试以下两个代码:

conda uninstall pyarrow
conda install pyarrow

2
在 conda 环境中不要使用 pip,只使用 conda 来管理由 conda 提供的依赖项。 - Uwe L. Korn
这不是你自己的环境吗?那就检查一下上面的代码。 - Hasee Amarathunga
@HaseeAmarathunga - 已更新问题 - 尝试重新创建Conda环境,仍然存在相同的问题.. - Joe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接