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

导入cartopy时触发‘Fatal Python error: Segmentation fault’该如何解决?

导入Cartopy时触发Segmentation Fault的原因与解决办法

问题场景

使用Spyder 5.3.3搭配Python 3.10,执行import cartopy时触发致命段错误,错误栈如下:

import cartopy

Fatal Python error: Segmentation fault

Main thread:
Current thread 0x00000001105ae600 (most recent call first):
  File "/Users/xushan/opt/anaconda3/envs/py310/lib/python3.10/site-packages/shapely/geometry/polygon.py", line 54 in __init__
  File "/Users/xushan/opt/anaconda3/envs/py310/lib/python3.10/site-packages/cartopy/crs.py", line 2904 in __init__
  File "/Users/xushan/opt/anaconda3/envs/py310/lib/python3.10/site-packages/cartopy/crs.py", line 2926 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "/Users/xushan/opt/anaconda3/envs/py310/lib/python3.10/site-packages/cartopy/__init__.py", line 107 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 883 in exec_module
  File "<frozen importlib._bootstrap>", line 688 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1006 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1027 in _find_and_load
  File "/var/folders/sk/q1bd_nkn1z345sbmdty96hpn6_w5dn/T/ipykernel_26154/823226011.py", line 1 in <module>

Restarting kernel...

错误原因

从错误栈追踪,问题根源在Shapely库的多边形初始化环节,Cartopy依赖Shapely处理几何图形,段错误主要由以下情况导致:

  • Shapely与Cartopy版本不兼容,Python 3.10属于较新版本,部分旧版依赖库对其支持不完善
  • Conda环境中底层依赖(如GEOS、GDAL)的二进制编译版本冲突
  • Spyder内核缓存与环境依赖库加载冲突

解决办法

1. 重新安装兼容版本的Cartopy与Shapely

优先使用conda-forge源安装,该源的包针对Python 3.10做了适配,兼容性更好:

conda remove cartopy shapely
conda install -c conda-forge cartopy shapely python=3.10

2. 修复底层依赖库版本匹配问题

检查GEOS和GDAL版本,确保版本满足兼容要求(GEOS≥3.9,GDAL≥3.4):

conda list geos gdal

若版本过低,单独更新:

conda install -c conda-forge geos>=3.9 gdal>=3.4

3. 重置Spyder内核缓存

段错误可能由内核缓存异常导致,执行以下步骤:

  • 关闭Spyder
  • 删除内核缓存文件:
rm -rf /var/folders/sk/q1bd_nkn1z345sbmdty96hpn6_w5dn/T/ipykernel_*
  • 重新启动Spyder,重启内核后再次尝试导入Cartopy

4. 创建全新Conda环境

若上述方法无效,构建干净的环境排除冲突:

conda create -n py310-cartopy python=3.10
conda activate py310-cartopy
conda install -c conda-forge cartopy spyder

使用新环境启动Spyder测试导入操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:50:31