0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu 22.04.4 LTS で GDAL(osgeo) を pipenv install する

Posted at

経緯

Python で、地理空間データで座標変換を行うために osgeo を Install しようとしたところ非常に苦労。Linux まわりの情報はあまり落ちていなかったので忘備録。
※ AI に助けてもらいました。

環境

  • OS: WSL2(Win11)
  • python: 3.10.2
  • 仮想環境: pipenv

Ubuntu 上で pipenv を用いて GDAL をインストールするには、GDAL が依存するライブラリ(特に C ライブラリや必要な開発ファイル)を先にシステムへインストールしておく必要があります。その後、GDAL を正しくインストールできます。
以下は、段階的に GDAL をセットアップする手順を説明します。

1. Ubuntu に必要な依存関係をインストールする

GDAL のインストールに必要なパッケージ

GDAL パッケージ(Python バインディング)をインストールするために、まず GDAL の C ライブラリやヘッダーファイルなどの開発ツールをインストールする必要があります。以下を実行してください:

Bash
sudo apt update
sudo apt install build-essential libgdal-dev python3-dev
  • libgdal-dev: GDAL の C ライブラリや開発ヘッダーファイル
  • python3-dev: Python の開発ヘッダーファイル(GDAL の Python バインディングに必要)
  • build-essential: コンパイルに必要な基本的なツール

インストールが完了したら、libgdal のバージョンを確認してください:

Bash
gdal-config --version

例:3.4.1 などのバージョンが表示されます。この番号と一致する Python 用 GDAL バージョンを後でインストールします。

2. pipenv 環境を作成

新しいプロジェクトのフォルダを作成し、その中で pipenv を使用して GDAL をセットアップします。

  1. プロジェクトディレクトリを作成して移動
Bash
   mkdir my_gdal_project
   cd my_gdal_project
  1. pipenv 環境をセットアップ: あなたがインストールしている Python バージョンに基づいて仮想環境を作成します(例では Python 3.10 を使用)。
Bash
   pipenv --python 3.10
  1. GDAL をインストール: Pipenv を使って Python モジュールとしての GDAL をインストールします。

注意: インストール時に GDAL のバージョン番号を指定する場合が多いです(システムの GDAL バージョンと互換性を保つため)。以下のようにバージョンを直接指定できます:

Bash
   pipenv install gdal==3.4.1

3.4.1 の部分は、gdal-config --version の出力に一致させます。

4. インストールの確認

インストール後、仮想環境を有効化して GDAL をインポートし、動作確認を行います:

  1. 仮想環境を有効化
Bash
   pipenv shell
  1. Python インタプリタで GDAL をインポート
Python
from osgeo import gdal

print(gdal.VersionInfo())

実行結果として GDAL のバージョンが表示されれば、セットアップは完了です。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?