Windows环境pip安装Cartopy无法识别已安装的GEOS、PROJ问题求助
报错原因
- 你通过
pip install proj、pip install geos安装的仅为Python语言绑定包,并非Cartopy编译所需的系统级原生依赖库。Windows官方PyPI源中的proj、geos绑定包版本老旧,未打包完整的原生库文件,导致Cartopy安装脚本无法识别到符合版本要求的依赖,才会返回Proj版本为0.0.0的错误。 - Cartopy通过pip安装时,需要提前完成对应版本原生库的环境变量配置,否则setup.py无法读取GEOS、PROJ的版本信息,也会触发版本校验失败报错。
解决方案
方案1:通过conda安装(Windows环境下首选)
如果已安装Anaconda/Miniconda,执行以下命令即可自动适配安装所有依赖,无需手动配置环境:
conda install -c conda-forge cartopy
方案2:手动配置依赖后用pip安装
- 先卸载此前安装的无效绑定包:
pip uninstall -y proj geos
- 下载PROJ(≥8.0.0)、GEOS(≥3.7.2)的Windows预编译原生库,解压到路径不含中文、空格的本地目录
- 配置系统环境变量:
- 将PROJ、GEOS解压后的
bin目录路径添加到系统Path变量 - 新增
GEOS_DIR环境变量,值为GEOS解压后的根目录路径 - 新增
PROJ_DIR环境变量,值为PROJ解压后的根目录路径
- 将PROJ、GEOS解压后的
- 重启终端使环境变量生效后,重新执行
pip install cartopy
方案3:直接安装预编译wheel包
下载Windows平台适配的Cartopy预编译wheel文件,执行本地安装即可跳过编译校验步骤:
pip install [本地wheel文件路径]
内容的提问来源于stack exchange,提问作者CeilingSystems
相关产品推荐
相关产品推荐

