衛星画像を扱うサンプルコードに必要だったgdalというライブラリが上手くインストールできずに手こずったので、エラー出さずにインストールする方法を備忘録かねて紹介します。
結論
Releases · cgohlke/geospatial-wheels (github.com)
ここから自分のPythonバージョンに合致するwhlファイルをダウンロードします。(例:Python 3.10を使っているならbasemap-1.4.1-cp310-cp310-win_amd64.whlを選べばok)
pip install ‘ダウンロードしたwhlのパス’
を実行すればインストールできました。
importする際は、from osgeoからimport することに注意しましょう。
#import gdal ←間違い
from osgeo import gdal ←osgeoからimportする
普通にpipすると発生するエラー
私の環境では、pip install osgeoを行うと以下のエラーが発生しました。
Running setup.py install for osgeo ... error
error: subprocess-exited-with-error
× Running setup.py install for osgeo did not run successfully.
│ exit code: 1
╰─> [25 lines of output]
running install
......................
Exception: In order to be able to run `from osgeo import gdal`,
You were probably trying to install `gdal` by running `pip install osgeo`.
Instead, you should either `pip install gdal` or replace `osgeo` with `gdal` in your requirements.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> osgeo
最後にosgeoではなくgdalをインストールしてみろと書いてあったので、pip install gdalを試すと以下のエラーが出ました。
error: subprocess-exited-with-error
× Running setup.py install for gdal did not run successfully.
│ exit code: 1
╰─> [145 lines of output]
WARNING: numpy not available! Array support will not be enabled
running install
...................................
gnm_wrap.cpp
gdalconst_wrap.c
gdal_wrap.cpp
ogr_wrap.cpp
osr_wrap.cpp
extensions/gdalconst_wrap.c(3013): fatal error C1083: include ファイルを開けません。'gdal.h':No such file or directory
extensions/gnm_wrap.cpp(3153): fatal error C1083: include ファイルを開けません。'gdal.h':No such file or directory
extensions/ogr_wrap.cpp(3181): fatal error C1083: include ファイルを開けません。'gdal.h':No such file or directory
extensions/osr_wrap.cpp(3213): fatal error C1083: include ファイルを開けません。'cpl_string.h':No such file or directory
extensions/gdal_wrap.cpp(3222): fatal error C1083: include ファイルを開けません。'cpl_port.h':No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.39.33519\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
[end of output]
pipでは無理そうだったので色々調べた結果、whlファイルをダウンロードしてpipすれば解決できる模様。
感想
参考にしたサイトの全てでダウンロード先のリンクは切れていましたが、何とかgithubのリポジトリ見つけられて良かったです。