anaconda安装basemap_Basemap报错KeyError: 'PROJ_LIB'

Basemap是pyhton绘制地图相关图形非常好用的库,通常可以简单通过conda install basemap 直接安装,因为basemap是基于geos的,依赖于pyproj,正常需要先安装geos,pyproj,但采用conda的安装方式,它会把basemap所需的依赖都安装上,同时解决了版本兼容性问题。

但许多用户在导入basemap时,出现KeyError: ‘PROJ_LIB’的报错,本文分析了原因,并基于Windows和MAC OS系统给出解决方案。

56a5398d2b5bd0c451857282cffed661.png

导入basemap,出现KeyError: ‘PROJ_LIB’

原因:

因python升级到最新版本3.6时,Anaconda没有自动配置环境变量PROJ_LIB,而basemap的__init__.py文件中epsgf的设置代码如下,因此会报错。

# create dictionary that maps epsg codes to Basemap kwargs.pyproj_datadir = os.environ['PROJ_LIB']epsgf = open(os.path.join(pyproj_datadir,'epsg'))

解决办法:

添加epsg文件所在的路径到系统环境变量,取名为:PROJ_LIB

Windows:

  1. 在Anaconda安装路径下搜索epsg。
  2. 将epsg所在路径添加到系统环境变量(我的路径是:D:Anaconda3Libraryshare)
    变量名:PROJ_LIB
    变量值:D:Anaconda3Libraryshare
  3. 添加环境变量成功后,重启一下电脑,就能成功导入basemap,验证成功。

Mac OS:

  1. 把Macintosh HD⁩ ▸ ⁨用户⁩ ▸ ⁨xxxxx⁩ ▸ ⁨anaconda3⁩ ▸ ⁨pkgs⁩ ▸ ⁨proj4-5.2.0-h6de7cb9_1006⁩ ▸ ⁨share▸ proj 合并复制到⁩Macintosh HD⁩ ▸ ⁨用户⁩ ▸ ⁨xxxxx⁩ ▸ ⁨anaconda3▸ ⁨share中。
  2. 在语句前面加上:
import osos.environ['PROJ_LIB'] = r'/Users/xxxxx/anaconda3/share/proj'

重新运行程序:

56d30bf4974237f56e4c12df94695c4a.png

参考文章:https://blog.csdn.net/weixin_45589713/article/details/104111271

如果你想学习数据分析而没有思路,没有资源,私信我或关注“数据科学与商业实践”,陈述你的问题,看到后会给出答复。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值