MacへのGDALインストール
今回は、MacへのGDALインストールについて記事にします。
はじめに
私は何度かGDALのインストールをしていますが、毎回悩まされていて、ほとんどスムーズに行ったことがありません。以前は、ソースからビルドした記憶もあります。
Macを使うようになってからは、GDAL本体はbrewでスムーズにインストールできるようになりました。
ただし、PythonのGDALは相変わらずの状態です。
今回は、以下の記事を参考にさせていただいて、GDAL、PythonのGDAL拡張モジュールをスムーズにできましたので記事にしました。
GDALをMacにインストールする(Qiitaの@mits003さんの記事)
検証の環境を以下に示します。
- PC:Mac mini(M1 ,2020)
- OS:macOS Monterey バージョン12.0.1
- Python:3.9.9
GDALインストール
GDALをインストールの流れは以下のようになります。
- アプリケーションやライブラリとしてのGDAL(GDAL本体)をインストール
- その後、PythonのGDAL拡張モジュールをインストール
GDAL本体
GDAL本体は、brewでインストールします。
% brew install gdal
% gdalinfo --version
GDAL 3.4.0, released 2021/11/04
既に旧バージョンを導入済みの方は、以下のようにupgradeすると最新版に更新されます。
% brew upgrade gdal
Running `brew update --preinstall`...
==> Auto-updated Homebrew!
〜中略〜
==> Upgrading 1 outdated package:
gdal 3.3.3_1 -> 3.4.0
Python拡張モジュール
Python拡張モジュールのインストールは以下のように行います。
なお、今回は仮想環境(python3 -m venv)を作成して検証しました。
% pip download GDAL
% tar -xpzf GDAL-3.4.0.tar.gz
% ls
GDAL-3.4.0 GDAL-3.4.0.tar.gz
% cd GDAL-3.4.0
% ls
PKG-INFO build extensions osgeo setup.py
README.rst dist gdal-utils setup.cfg var
% python setup.py build_ext --gdal-config /opt/homebrew/Cellar/gdal/3.4.0/bin/gdal-config
% python setup.py build
% python setup.py install
拡張モジュールのバージョン確認は以下のコードを実行します。
from osgeo import gdal
print(gdal.VersionInfo())
実行結果は、以下となります。(”3040000″は、3.4の意味だと解釈しています。。)
% python gdalcheck.py
3040000
おまけ
GDALさえインストールできれば、インストール時に問題が起きがちなFionaもShapelyも素直にインストールできます。
以下は、Fionaです。
% pip install shapely
Collecting shapely
Downloading Shapely-1.8.0.tar.gz (278 kB)
|████████████████████████████████| 278 kB 3.3 MB/s
Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for shapely, since package 'wheel' is not installed.
Installing collected packages: shapely
Running setup.py install for shapely ... done
Successfully installed shapely-1.8.0
以下は、Shapelyです。
% pip install fiona
Collecting fiona
Downloading Fiona-1.8.20.tar.gz (1.3 MB)
|████████████████████████████████| 1.3 MB 3.1 MB/s
Preparing metadata (setup.py) ... done
Requirement already satisfied: attrs>=17 in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (21.4.0)
Requirement already satisfied: certifi in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (2021.10.8)
Requirement already satisfied: click>=4.0 in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (8.0.3)
Requirement already satisfied: cligj>=0.5 in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (0.7.2)
Requirement already satisfied: click-plugins>=1.0 in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (1.1.1)
Collecting six>=1.7
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting munch
Downloading munch-2.5.0-py2.py3-none-any.whl (10 kB)
Requirement already satisfied: setuptools in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (59.0.1)
Using legacy 'setup.py install' for fiona, since package 'wheel' is not installed.
Installing collected packages: six, munch, fiona
Running setup.py install for fiona ... done
Successfully installed fiona-1.8.20 munch-2.5.0 six-1.16.0
まとめ
今回は、Qiitaの@mits003さんの記事を参考にさせていただき、MacへのGDALのインストールを検証しました。
以前は、インストールできなくて数日悩んだりしましたが、この方法であれば、10分あればインストールは完了します。
@mits003さん、ありがとうございました。
コメント