2018年4月29日 星期日

[Python Package] Mac OS安裝Matplotlib Basemap套件過程記錄

說明:
Basemap是python中畫平面地圖的套件,使用PROJ將地球的經緯度投影至平面上,
以下記錄安裝的過程。


做法:
  • 根據官網的指示安裝下述套件,大部分都用pip install。


    PROJ依據其網頁建議,使用Homebrew安裝,


    安裝的過程若遇到:
    Error: Xcode alone is not sufficient on xxx(mac os version).
    Install the Command Line Tools:
    xcode-select --install

    不要懷疑,下指令xcode-select --install,將會安裝所需的Command Line Tools。
    再下指令brew install proj。


    即完成PROJ安裝。

  • 接下來是GEOS,若沒安裝過,可用內含於basemap的geo-3.3.3版本,也可以自己下載最新版本。
  • Pillow沒用所以我沒裝。


  • 最後下載basemap的tar.gz版本。解壓縮後,開啓終端機cd到basemap主目錄。
  • 如果沒安裝過GEOS,再cd到geo-3.3.3目錄。
  • 下指令:export GEOS_DIR=/usr/local
  • 下指令:./configure --prefix=$GEOS_DIR
  • 下指令:make; make install
  • 若是安裝過GEOS,且geos_c.h在/usr/local/include下與libgeos_c在/usr/local/lib下,可參照下圖,則設定GEOS_DIR = /usr/local
  • 若GEOS不是裝在/usr/local,請自行設定GEOS_DIR。

  • 切回basemap主目錄
  • 下指令:python3 setup.py install (使用python3.6)
  • 下指令:python3 simpletest.py
  • 若出現:ModuleNotFoundError: No module named 'pyproj',代表需再安裝pyproj,可下指令pip3 install pyproj
  • 若以上指令皆執行成功,可執行example下的單一python檔確認(如:counties.py),若是執行run_all.py,會跑很多demo程式碼。

執行相關畫面如下圖。


參考資料:
https://matplotlib.org/basemap/users/installing.html
https://gis.stackexchange.com/questions/8120/importerror-no-module-named-pyproj/8136#8136