Python3.5.3下pip安装cartopy遇gcc失败报错,求解决方案及替代工具
解决Python 3.5.3下
pip install cartopy编译失败的问题 针对你在Python 3.5.3环境(无法更换版本)中安装Cartopy时遇到的gcc编译报错问题,我整理了以下解决方案和替代工具推荐:
你的错误核心是源码编译Cartopy时缺少必要的系统依赖,且Cartopy新版本不再支持Python 3.5,导致编译失败。完整错误输出如下:
Command "/opt/apps/python/3.5.3/bin/python3.5 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-eprit6ql/cartopy/setup.py';f=getattr(tokenize, 'open', open) (__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-4mg12j4p-record/install- record.txt --single-version-externally-managed --compile --user --prefix="" failed with error code 1 in /tmp/pip-build-eprit6ql/cartopy/
一、修复Cartopy安装的步骤
补全系统编译依赖
Cartopy依赖GEOS、PROJ等地理空间库的开发包,以及C/C++编译工具,先安装这些依赖:- Ubuntu/Debian系统:
sudo apt-get update && sudo apt-get install gcc g++ libgeos-dev libproj-dev - CentOS/RHEL系统:
sudo yum install gcc gcc-c++ geos-devel proj-devel
- Ubuntu/Debian系统:
安装兼容Python 3.5的Cartopy版本
Cartopy从0.18.0版本开始要求Python 3.6及以上,所以必须指定安装支持Python 3.5的0.17.x系列版本:pip install cartopy==0.17.0 --user如果还是出现编译问题,尝试直接安装预编译的wheel包,跳过源码编译环节:
pip install --only-binary :all: cartopy==0.17.0 --user
二、推荐替代地图库
如果上述方案仍无法解决,推荐以下可通过pip安装的替代工具:
Basemap:和Cartopy功能相近的经典地理可视化库,支持Python 3.5,安装步骤:
- 确保已安装上述系统依赖(若已安装可跳过)
- 安装兼容版本:
注意:Basemap已停止维护,但在Python 3.5环境中是稳定可用的选择。pip install basemap==1.2.1 --user
Folium:适合生成交互式网页地图的库,依赖Leaflet.js,兼容Python 3.5,安装命令:
pip install folium==0.12.1 --user如果你需要的是交互式地图而非静态绘图,Folium会是更灵活的选择。
内容的提问来源于stack exchange,提问作者Alex Morrison
相关产品推荐
相关产品推荐

