Google Colab导入OSMnX失败:TopologicalError导入错误求助
解决Google Colab中OSMnX导入报错:ImportError: cannot import name 'TopologicalError' from 'shapely.geos'
报错原因
Shapely 2.0及以上版本重构了异常类结构,将TopologicalError从shapely.geos模块迁移至shapely.errors模块。旧版本OSMnX仍沿用旧的导入路径,导致兼容性报错。
方案1:升级OSMnX至兼容Shapely 2.0的最新版本
新版OSMnX已适配Shapely 2.0+的模块结构,执行以下步骤:
- 卸载现有冲突依赖:
!pip uninstall -y osmnx shapely
- 安装最新版OSMnX(自动同步兼容依赖):
!pip install osmnx --upgrade
- 测试导入:
import osmnx
方案2:降级Shapely至旧版本(兼容旧版OSMnX)
若无需升级OSMnX,可安装保留TopologicalError在shapely.geos中的旧版Shapely:
- 卸载当前Shapely:
!pip uninstall -y shapely
- 安装指定兼容版本:
!pip install shapely==1.8.5.post1
- 测试导入:
import osmnx
简化Colab安装流程建议
无需手动逐个安装依赖,OSMnX的pip包会自动处理大部分依赖项,推荐简化为:
# 安装系统级依赖 !apt install gdal-bin python3-gdal python3-rtree -y # 直接安装/升级OSMnX !pip install osmnx --upgrade
内容的提问来源于stack exchange,提问作者Santiago David Lopez Canovas
相关产品推荐
相关产品推荐

