ArcGIS Pro自带Jupyter执行import pandas报expected string or bytes-like object错误
问题根因
该报错是pandas在校验pyarrow依赖版本时,获取到的pa.__version__不是合法字符串类型,多为ArcGIS Pro内置Python环境的包版本不匹配、包文件损坏导致。
排查步骤
- 在当前Jupyter notebook中执行以下代码,确认pyarrow版本的返回值:
import pyarrow as pa print(type(pa.__version__)) print(pa.__version__)
如果输出的类型不是字符串,或输出为空/None,即可确认是pyarrow包异常导致的问题。
- 继续执行以下命令,查看两个包的安装版本,确认是否存在版本不兼容:
conda list pandas conda list pyarrow
ArcGIS Pro 2.8自带的pandas版本通常为1.2.x,匹配的pyarrow版本应在0.17.x~1.0.x区间,不在该区间就会出现兼容问题。
解决方案
方案一:修复当前内置环境
打开ArcGIS Pro自带的Python命令提示符(路径:开始菜单→ArcGIS→ArcGIS Pro Python Command Prompt),依次执行如下命令:
- 强制重装匹配版本的pyarrow:
conda install --force-reinstall pyarrow=0.17.1 -c esri - 再重装对应版本的pandas:
conda install --force-reinstall pandas=1.2.5 -c esri
必须加-c esri参数,使用ArcGIS官方源安装,避免引入第三方源的不兼容版本
方案二:新建独立虚拟环境
如果方案一执行失败,可直接在ArcGIS Pro的Python包管理界面新建独立虚拟环境,安装符合需求的pandas和pyarrow版本,再将Jupyter的运行内核切换为新的虚拟环境即可。
内容的提问来源于stack exchange,提问作者mos_bad
相关产品推荐
相关产品推荐

