0
0

Anacondaを使わずPythonにGDALをインストールする方法

Posted at

PythonにGDALをインストール手順で躓いた際の解決方法の備忘録です。私はGDALでしか検証していませんが、地理空間系の解析に必要な他のライブラリ(basemap, Cartopy, cftime, Fiona, netCDF4, pygeos, pyproj, rasterio, Rtree, shapely)についても同様の手順が使えそうです。

GDALのインストールでエラー発生

久々に画像解析の作業を行うことになり、PCにPythonをインストールしました。次いで必要なパッケージもpipコマンドを使ってインストールしていったのですが、GDALをインストールしようとしたところ、エラーが出て止まってしまいました。

> pip install gdal

Collecting gdal
  Using cached gdal-3.9.1.tar.gz (840 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: gdal
  Building wheel for gdal (pyproject.toml) ... error
  error: subprocess-exited-with-error
  × Building wheel for gdal (pyproject.toml) did not run successfully.
(中略)
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools" (https://visualstudio.microsoft.com/visual-cpp-build-tools/)

以下のサイトでも「GDALは複雑なので追加のステップが必要かも」(Due to the complex nature of GDAL and its components, different bindings may require additional packages and installation steps. )と説明されています。

ただ、エラー文の通りにVisual C++をインストールしても、なぜか上と同じエラーが出てしまいうまくいきません。試行錯誤していたところ、以下の方法で解決できたので紹介します。なお、こちらで紹介する手順はおそらくWindowsにしか対応していないと思われます。Macユーザーの方のお役には立てないかもしれません。

検証した環境

Windows 11
Python 3.11.1

.whlファイルを使ってGDALをインストール

実は、以前はこのような問題にはあたりませんでした。というのも、インストーラーの取得をpipコマンドに頼っていなかったためです。Pythonパッケージのインストーラーを公開してくれているサイトから個別にダウンロードしていました。その方法は当時所属していた研究室のブログで紹介しました。

今回もその方法に立ち返って試そうとしたのですが、その時に頼っていたサイト(https://www.lfd.uci.edu/~gohlke/pythonlibs/)は残念ながら閉鎖してしまったようです。ただ嬉しいことに、同じ人が改めてGitHubにインストーラーを公開してくれています。

こちらのサイトにアクセスし、最新のリリースのページに移動します。

image.png

リリースページ内に上がっている多くのパッケージの中から、必要なパッケージを探します。ファイル名は、[ソフト名]-[ソフトのバージョン]-[対応するPythonバージョン]-[対応するPythonバージョン2]-[Windowsのビット数].whlとなっています。今回はPCのビット数が64、Python 3.11で使用するものを探していたので、「GDAL-3.8.4-cp311-cp311-win_amd64.whl」をダウンロードしました。

image.png

ダウンロードできたら、ターミナルに以下のように打ち込むとインストールできます。

cd [ダウンロード先のパス]
pip install [ファイル名].whl

なぜAnacondaを使わないの?

私は試していませんが、Anacondaを使用するとかなり簡単にインストールできるらしいです。

では、なぜAnacondaを使用しないのか? ということになりますが、私の場合は単にPythonをたまーにしか使用しないせいで、Anadondaを使用するという発想に至らなかっただけです…

ただ、たまたまこの記事を書いているなのですが、Anacondaが有償提供の方針となったこともあり、もしかしたらPythonそのままの環境を使う機会が増えるかもしれません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0