Anaconda中 安装basemap包

Basemap 是matplotlib子包,也是python中最常用、最方便的地理数据可视化工具之一。使用传统python安装包的方法(pip install basemap 或者conda install basemap)经常报错,提示结果为Python 2.7 basemap和Python 3.6冲突(图),尽管2.7非常经典且世面大多数资料仍然是基于2.X版本,但官方已经宣布2.X版本只维护到2020年,3.X才是未来。

Basemap 是matplotlib子包,也是python中最常用、最方便的地理数据可视化工具之一。使用传统python安装包的方法(pip install basemap 或者conda install basemap)经常报错,提示结果为Python 2.7 basemap和Python 3.6冲突(图),尽管2.7非常经典且世面大多数资料仍然是基于2.X版本,但官方已经宣布2.X版本只维护到2020年,3.X才是未来。


下面将windows环境下Python 3.X安装basemap的方法分享,供大家参考。

前提:我的电脑配置为64为win10,Anaconda 3(64位),Python 3.6。

1.首先,在Python Extension Packages for Windows根据自己电脑配置及Python版本选择下载Basemap和pyproj两个安装文件,这个网站主要提供非官方的windows环境下的Python扩展包

basemap下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/

Pyproj下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyproj


其中,basemap后面的1.1.0代表版本号,cp36代表python3.6,win代表windows,amd64代表64位系统。basemap大约120M,pyproj只有3M多。

2. win+R 打开命令提示符窗口,cd命令将当前目录设置为下载文件存放的文件夹(我放在桌面)后点回车键。注:如果你使用spyder 3.2以上的版本,请在Anaconda Prompt(my_root)执行以下安装命令,步骤一样。

3.然后开始安装两个文件,首先安装pyproj

pip install pyproj-1.9.5.1-cp36-cp36m-win_amd64.whl


需要注意的是文件名全称,且后缀名(.whl)不能丢,提示安装成功后,同样的命令安装basemap

pip install basemap-1.1.0-cp36-cp36m-win_amd64.whl

此处出现错误

You are using pip version 9.0.1, however version 9.0.2 is available.

You should consider upgrading via the 'python -m pip install --upgrade pip' command.

通过使用easy_install指令安装成功了: 
首先进入到easy_install的目录 例如C:\ProgramData\Anaconda3\Scripts
然后通过指令 easy_install.exe pip==9.0.2 最后安装成功。



然后再安装


安装成功后会提示Successfully installed。

4. 然后测试是否安装成功

import numpy as np
import pandas as pd
import xarray as xy
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import os

os.chdir(r'F:\NCEP')
temp = xy.open_dataset('air.mon.mean.v401.nc')
air = temp['air']
T30 = temp.sel(time=slice('1981-01-01', '2010-12-01'))
t_average = T30.groupby('time.year').mean(dim='time')
t = t_average.mean(dim='year')
tmp = t['air']
lon = t['lon'][:]
lat = t['lat'][:]
lon, lat = np.meshgrid(lon, lat)

def plt_map(data):
    m = Basemap(projection='mill', llcrnrlat=-90, urcrnrlat=90, llcrnrlon=-180, urcrnrlon=180,
                lat_ts=30, resolution='c')
    x, y = m(lon, lat)
    plt.xlim(-180, 180)
    plt.figure(figsize=(10, 7))
    m.drawcoastlines()
    m.drawparallels(np.arange(-90., 91., 30.))
    m.drawmeridians(np.arange(0., 361., 30))
    m.drawmapboundary(fill_color='white')
    m.contourf(x, y, data, levels=np.linspace(-25, 30, 56), extend='both')
    plt.colorbar(orientation='horizontal', pad=0.05)
plt_map(tmp)

结果:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值