【最新】高版本Mac、Python库下使用pip成功安装cartopy

本文详细指导Mac用户如何在Python3.7环境下卸载过时的Basemap,改用cartopy,包括解决权限问题、依赖重装和venv环境下的安装步骤,确保成功绘制地图案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

高版本Mac、python库下Basemap装的真是折磨人,好不容易通过修改源码成功 import 了,结果运行案例代码中途报错。。最后转用cartopy

这里强烈建议高版本Mac、python的用户不要使用basemap,basemap官方都说其已经过时了,要求用户转向cartopy

本人环境mac10.15.x,python3.7+

卸载cartopy相关

可能是太过笨重,网速感人,所以本人一直不太喜欢Anaconda,也从来没装过,虽然cartopy官方说了使用Anaconda安装是最方便的,但本人作为venv一派,决定在venv下使用pip安装cartopy

两行命令进入以当前目录为根目录的venv虚拟环境(非必须)

$ python3 -m venv .
$ source ./bin/activate

当然,本文中是否使用venv虚拟环境安装cartopy并无关紧要,你在普通环境下使用pip3安装都是一样的

1. 首先卸载geos、proj,你用pip装的就

pip uninstall geos proj

用brew装的就

brew uninstall geos proj

如果安装了特定版本的,比如用brew安装了proj的5.2.0版本,就brew uninstall proj@5.2.0

2. 卸载shapely和cartopy同上方法(同必卸)

重装cartopy相关

1. 使用brew过程中可能会出现 “Permission denied @ …” 问题,采用下面提高brew权限(建议安装前都来一发下面命令)

sudo chown -R $(whoami) $(brew --prefix)/*

2. 安装pkg-config(关键步骤)

brew install pkg-config

并临时设置pkg-config的环境变量

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

如果没有这步,会出现报错 lib/cartopy/_crs.c:637:10: fatal error: 'proj_api.h' file not found、

error: command 'xcrun' failed with exit status 1等:

crs.c -o build/temp.macosx-10.14-x86_64-3.7/lib/cartopy/_crs.o
    lib/cartopy/_crs.c:637:10: fatal error: 'proj_api.h' file not found
    #include "proj_api.h"
             ^~~~~~~~~~~~
    1 error generated.
    error: command 'xcrun' failed with exit status 1
    ----------------------------------------

2. 安装proj geos

brew install proj geos

安装后我的geos版本3.8.1,proj版本7.1.0(别指望类似proj 5.x的低版本,会报错,帮你试了)

3. 更新相关依赖

pip install --upgrade cython numpy pyshp six

4. 安装shapely

pip install shapely --no-binary shapely

5. 安装cartopy

pip install cartopy

然后就成功了!

进入python,运行官方代码案例,成功绘制出地图!(venv党的小胜利✌️)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值