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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM