Manjaro Linux安装OSMNX出现Shapely相关ImportError问题求助
问题诊断
这个问题可以自行修复,核心问题出在Python包的加载优先级冲突:你为conda虚拟环境ox安装的OSMNX依赖高版本Shapely,但Python运行时优先加载了你用户目录.local/lib/python3.9/site-packages下安装的低版本Shapely,该版本未提供shapely.ops.split接口,因此触发导入报错。
修复步骤
- 首先激活你的OSMNX专属conda环境:
conda activate ox - 卸载用户本地目录下的低版本Shapely:
pip uninstall -y shapely,该操作只会删除.local下的Shapely安装包,不会影响conda环境内的文件 - 在激活的
ox环境中重新安装符合版本要求的Shapely:conda install -c conda-forge shapely - 验证修复效果,执行命令
python -c "import osmnx as ox; print('导入成功,OSMNX版本为', ox.__version__)",无报错即修复完成
注意:日常使用conda虚拟环境时,尽量避免在未激活环境的状态下用pip安装Python包,防止全局/用户目录的包和虚拟环境内的包产生版本冲突,出现同类加载异常。
内容的提问来源于stack exchange,提问作者Ezra Woods
相关产品推荐
相关产品推荐

