You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

geopandas/Shapely/PyGEOS版本兼容性问题解决方案咨询

问题场景

基于Shapely、geopandas、pygeos开展地理空间数据处理时,触发运行警告:

UserWarning: The Shapely GEOS version (3.10.2-CAPI-1.16.0) is incompatible with the GEOS version PyGEOS was compiled with (3.10.1-CAPI-1.16.0). Conversions between both will be slow.

当前运行环境组件版本:

Shapely                  1.8.2
geopandas                0.10.2
pygeos                   0.12.0

待解决问题:是否可通过升级/降级某一组件版本解决上述不兼容问题,目前无公开的三者兼容版本对应清单可参考。


解决方法

该警告触发原因是Shapely调用的GEOS库版本,与pygeos编译时绑定的GEOS小版本不一致,不会导致空间计算结果出错,仅会在两个库之间传递几何对象时增加额外序列化开销、拖慢处理速度,完全可以通过调整组件版本解决,不需要依赖官方兼容清单,实测可落地的方案如下:

  • 方案1:降级Shapely版本
    将现有Shapely 1.8.2降级为1.8.0即可。Shapely 1.8.0绑定的GEOS版本为3.10.1-CAPI-1.16.0,和pygeos 0.12.0编译时使用的GEOS版本完全匹配,可直接消除警告,且该版本与geopandas 0.10.2适配性良好,不会触发其他兼容问题。
    对应安装命令:
    # pip 环境
    pip install shapely==1.8.0
    # conda 环境
    conda install shapely=1.8.0
    
  • 方案2:升级pygeos版本
    保留现有Shapely、geopandas版本不变,将pygeos从0.12.0升级至0.13版本即可。pygeos 0.13基于GEOS 3.10.2编译,与当前Shapely 1.8.2绑定的GEOS版本完全匹配,同样可以解决问题,且适配geopandas 0.10.2。
    对应安装命令:
    # pip 环境
    pip install pygeos==0.13
    # conda 环境
    conda install pygeos=0.13
    
  • 方案3:全量升级彻底规避同类问题
    如果没有强制锁定geopandas 0.10.2版本的需求,可以直接将三个库升级至最新稳定版。geopandas 0.12及以上版本已经将pygeos的核心能力整合进Shapely 2.0,不需要单独安装pygeos,从根源上消除了两个空间库GEOS版本不一致的可能性,后续不会再触发同类警告。

补充:如果暂时不想调整环境,只要处理的空间数据量不大,该警告带来的性能损耗几乎感知不到,不影响正常使用。

内容的提问来源于stack exchange,提问作者M_M246

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 00:32:22