使用GeoPandas将GeoDataFrame写入Feather/Parquet格式时遭遇UnsupportedGEOSVersionError问题
GeoPandas将GeoDataFrame写入Feather/Parquet格式时遭遇UnsupportedGEOSVersionError问题
嘿,我一眼就看出问题所在了——你自己以为当前环境的GEOS版本是3.12.1,但从你贴的geopandas.show_versions()输出里,GeoPandas实际调用的GEOS版本是3.8.0,这才是触发UnsupportedGEOSVersionError的核心原因!
这种情况太常见了:你的系统里可能同时存在多个GEOS安装包,比如你手动装了高版本的GEOS,但Anaconda环境自带的是旧版3.8.0,而GeoPandas只会认当前Python环境(也就是你的Anaconda环境)里的GEOS,完全不管你系统里别的地方装了啥。
给你一套具体的解决步骤:
1. 先确认当前环境的GEOS版本
激活你的Anaconda环境,在命令行里跑这个命令:
conda list geos
不出意外的话,你会看到输出里的GEOS版本是3.8.0,和geopandas.show_versions()显示的一致。
2. 升级环境内的GEOS到符合要求的版本
还是在激活的环境下,执行这条升级命令(用conda-forge频道能拿到最新的包):
conda install -c conda-forge geos>=3.10.0
如果想直接装3.12.1版本,也可以把命令改成:
conda install -c conda-forge geos=3.12.1
3. 验证升级结果
升级完成后,重新运行geopandas.show_versions(),确认GEOS那一行的版本已经变成3.10.0及以上了。
4. 重新尝试写入Feather文件
这时候再执行你的代码:
gdf.to_feather("California_Buildings.feather")
应该就能顺利写入,不会再弹出版本错误了。
备注:内容来源于stack exchange,提问作者AW_
相关产品推荐
相关产品推荐

