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()

 

    • 可以正常的显示出下面的窗口。

                  clip_image001

 

  • 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版本。显示如下,就是正常了的

             clip_image002

 

    • 安全起见,把包都更新一遍 conda upgrade –all

 

    • 安装 basemap

             conda install basemap

              这里安装的版本是 basemap-1.2.0,同时安装的windows安装的是1.2.1。

 

    • python basemaptest.py,执行上面的脚本。

            clip_image003

            错误原因:

              Anaconda没有自动配置环境变量PROJ_LIB,而basemap的__init__.py文件中epsgf的设置代码如下,因此会报错

                 clip_image004

              解决方法:

             找到“epsg”的相应位置,这个文件在我的仿真机器上面的位置是 /root/anaconda3/share/proj

            设置环境变量:

            vim /etc/profile

            export PROJ_LIB=/root/anaconda3/share/proj:$PROJ_LIB

           重启虚拟机

 

    • ok,图形画出来了。

             clip_image005

posted @ 2020-07-23 15:15  matthew2015  阅读(3236)  评论(0编辑  收藏  举报