Anaconda和basemap的安装和使用
- 说在前面
在使用basemap的时候走了很多的弯路,正确的姿势应该是在Anaconda下面安装basemap,如果使用原生的python的话,尤其是多个python版本共存的情况,是很难把basemap安装成功的。
Anaconda是一个用于科学计算的Python发行版,支持Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。也就是这个里面包含了python,各种包,包管理工具等等。
- win7下Anaconda和basemap的安装和使用
- 安装请看下面的这个博客:(我下载的是python3.7的安装包,477M的安装包只需要不到10分钟就下载完了)
https://blog.csdn.net/weixin_43715458/article/details/100096496
下载的安装包的名称叫 Anaconda3-2020.02-Windows-x86_64.exe 。
- 当在windows下面的Anaconda的命令行中运行 conda install 包名称 时,如果出现Collecting package metadata (current_repodata.json): failed的错误提示,可以按照下面的方式来解决掉:
把路径“Anaconda3/Library/bin ”下面的文件复制到路径“Anaconda3/DLLs”下 :
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
- 安全起见,把包都更新一遍 conda upgrade –all
- 安装 basemap
conda install basemap
这里安装的版本是 basemap-1.2.1
- 写一个脚本basemaptest.py如下,在Anaconda Prompt中 执行python basemaptest.py
注意:这个脚本只能在 basemap-1.2.1,上可以正常显示,basemap每个版本之间变化非常大,其他版本有可能编译不过。
frommpl_toolkits.basemapimportBasemap
importmatplotlib.pyplotasplt
#plt.figure(figsize=(16,8))
m=Basemap(llcrnrlon=77,llcrnrlat=14,urcrnrlon=140,urcrnrlat=51,projection='lcc',lat_1=33,lat_2=45,lon_0=100)
#m=Basemap(llcrnrlon=73,llcrnrlat=18,urcrnrlon=135,urcrnrlat=53)
m.drawcountries(linewidth=1.5)
m.drawcoastlines()
plt.show()
- 可以正常的显示出下面的窗口。
- ubuntu16下Anaconda和basemap的安装和使用
- 安装包的下载
和windows的安装包一起下载的,名称叫 Anaconda3-2020.02-Linux-x86_64.sh, 大小是534M,也是10分钟内就下载完了。下载的版本是python3.7
参考博客:https://blog.csdn.net/ITBigGod/article/details/85690257
- 按照上面的博客把Anaconda3安装好后,我的python并没有使用Anaconda3下的python,还是使用的我之前的安装的原生的python3.8,把软连接建一下就行了。
cd /usr/bin/
rm python
ln -s /root/anaconda3/bin/python /usr/bin/python
ln -s /root/anaconda3/bin/conda /usr/bin/conda
建立好软连接后,再次在shell中查询python版本、conda版本、pip版本。显示如下,就是正常了的
- 安全起见,把包都更新一遍 conda upgrade –all
- 安装 basemap
conda install basemap
这里安装的版本是 basemap-1.2.0,同时安装的windows安装的是1.2.1。
- python basemaptest.py,执行上面的脚本。
错误原因:
Anaconda没有自动配置环境变量PROJ_LIB,而basemap的__init__.py文件中epsgf的设置代码如下,因此会报错
解决方法:
找到“epsg”的相应位置,这个文件在我的仿真机器上面的位置是 /root/anaconda3/share/proj
设置环境变量:
vim /etc/profile
export PROJ_LIB=/root/anaconda3/share/proj:$PROJ_LIB
重启虚拟机
- ok,图形画出来了。