GeoDjango のインストールLink to this heading

概要Link to this heading

通常、GeoDjango のインストールには次のものが必要です:

  1. Python と Django

  2. 空間データベース (Spatial database)

  3. 地理空間ライブラリのインストール

各要件の詳細とインストール手順については、以下のセクションを参照してください。また、プラットフォーム別の手順もあります:

必要条件Link to this heading

Python と DjangoLink to this heading

GeoDjango は Django に同梱されていますので、インストール方法の詳細は Django の インストール手順 を参照してください。

空間データベース (Spatial database)Link to this heading

現在サポートされている空間データベースは、PostgreSQL (with PostGIS)、MySQL、Oracle、SQLite (with SpatiaLite) です。

GeoDjango のインストールに必要な地理空間ライブラリは、使用する空間データベースによって異なります。以下は、サポートされているデータベースバックエンドごとに、必要なライブラリ、サポートされているバージョン、および注意事項 の一覧です:

データベース

ライブラリの要件

サポートされるバージョン

備考

PostgreSQL

GEOS, GDAL, PROJ, PostGIS

12+

PostGIS が必要です。

MySQL

GEOS, GDAL

8.0.11+

機能制限があります

Oracle

GEOS, GDAL

19+

XE not supported.

SQLite

GEOS, GDAL, PROJ, SpatiaLite

3.27.0+

Requires SpatiaLite 4.3+

PostgreSQL/PostGIS/GEOS/GDAL の可能な組み合わせについては、OSGeo Wikiの this comparison matrix も参照してください。

インストールLink to this heading

地理空間ライブラリ (Geospatial library)Link to this heading

データベースのインストールLink to this heading

DATABASES の設定Link to this heading

ENGINE 設定を、空間 (spatial) バックエンド の1つに設定してください。

django.contrib.gisINSTALLED_APPS に追加します。Link to this heading

他の Django contrib アプリケーションと同様に、設定の INSTALLED_APPSdjango.contrib.gis を追加するだけです。これは gis テンプレートを配置するためです。そうしないと、地理管理や KML サイトマップのような機能が正しく動作しません。

トラブルシューティングLink to this heading

問題の解決策がここに見つからない場合は、コミュニティに参加してみてください!以下のようなことができます:

  • GeoDjango フォーラムで質問してください。

  • バグがあると思ったら Django trac にチケットを提出してください。  問題の完全な説明、使用したバージョン、コンポーネントを "GIS" と指定してください。

ライブラリの環境設定Link to this heading

GeoDjango をインストールする際に最もよくある問題は、外部の共有ライブラリ (例えば GEOS や GDAL) が見つからないというものです [1] 。通常、この問題の原因は、オペレーティングシステムがソースからビルドされたライブラリがインストールされたディレクトリを認識していないことです。

通常、ライブラリのパスは、個々のユーザーごとに環境変数を設定するか、システム全体のライブラリ パスを構成することで設定できます。

LD_LIBRARY_PATH 環境変数Link to this heading

ユーザーは、使用するライブラリパスをカスタマイズするためにこの環境変数を設定できます。ソースからビルドされたソフトウェアの典型的なライブラリディレクトリは /usr/local/lib です。したがって、 LD_LIBRARY_PATH 変数に /usr/local/lib を含める必要があります。たとえば、ユーザーは次のような設定を bash プロファイルに記述できます:

Shell
export LD_LIBRARY_PATH=/usr/local/lib

システムライブラリのパスを設定するLink to this heading

通常、GNU/Linuxシステムでは、 /etc/ld.so.conf にファイルがあり、別のディレクトリにあるファイルから追加のパスを含むことがあります。そのディレクトリとは、例えば /etc/ld.so.conf.d です。root ユーザーとして、 ld.so.conf の新しい行にカスタムライブラリパス (例: /usr/local/lib など) を追加してください。これはその 一つ の例です:

Shell
$ sudo echo /usr/local/lib >> /etc/ld.so.conf
$ sudo ldconfig

OpenSolaris ユーザーは、crle ユーティリティを使ってシステムライブラリのパスを変更できます。オプションなしで crle を実行すると現在の設定が表示され、 crle -l を使用すると新しいライブラリパスが設定されます。システムライブラリパスを変更する際には、 非常に 注意してください:

Shell
# crle -l $OLD_PATH:/usr/local/lib

binutils をインストールするLink to this heading

GeoDjango は find_library 関数 (ctypes.util Python モジュールのもの) を使ってライブラリを検出します。 find_library ルーチンは objdump というプログラム (binutils パッケージの一部) を使って、GNU/Linux システム上の共有ライブラリを確認します。そのため、もし binutils が Linux システムにインストールされていない場合、ライブラリパスが正しく設定され、地理空間ライブラリが完璧にビルドされていたとしても、Python の ctypes はライブラリを見つけることができないかもしれません。

binutils パッケージは、Debian および Ubuntu システムでは以下のコマンドを使用してインストールできます:

Shell
$ sudo apt-get install binutils

Red Hat および CentOS システムでも同様です:

Shell
$ sudo yum install binutils

プラットフォーム固有の手順Link to this heading

macOSLink to this heading

macOS では様々なパッケージングシステムが利用できるため、ユーザは GeoDjango をインストールするのにいくつかの異なる選択肢があります。これらのオプションは以下の通りです:

このセクションには、Python Software Foundation が提供するパッケージから Python のアップグレード版をインストールする手順も含まれていますが、これは必須ではありません。

PythonLink to this heading

macOSにはPythonがインストールされていますが、Python Software Foundation が提供する framework installers を使用することもできます。インストーラーを使用する利点は、macOSのPythonがOS内部で使用するために "原始的" なままであることです。

Postgres.appLink to this heading

Postgres.app は PostGIS 拡張を含むスタンドアロンの PostgreSQL サーバです。また、gdallibgeoipHomebrew と共にインストールする必要があります。

Postgres.appをインストールした後、コマンドラインからパッケージのプログラムを実行できるように、 .bash_profile に以下を追加してください。 X.Y をインストールした Postgres.app の PostgreSQL のバージョンに置き換えてください:

Shell
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/X.Y/bin

ターミナルプロンプトで which psql と入力して、パスが正しく設定されているかを確認できます。

HomebrewLink to this heading

Homebrew は、ソースコードからバイナリおよびパッケージを構築するための「レシピ」を提供します。これは、macOS を実行している Macintosh コンピュータ上で GeoDjango の前提条件のためのレシピを提供しています。Homebrew はソフトウェアをソースコードから構築するため、 Xcode が必要となります。

概要:

Shell
$ brew install postgresql
$ brew install postgis
$ brew install gdal
$ brew install libgeoip
FinkLink to this heading

Kurt SchwehrFink パッケージシステムのユーザーのために GeoDjango パッケージを作成してくれました。使用したい Python のバージョンに応じて、Different packages are available です(django-gis から始まります)。

MacPortsLink to this heading

MacPorts を使うと、macOS を実行しているコンピュータに GeoDjango の依存関係をインストールできます。MacPorts はソフトウェアをソースからビルドするので、 Xcode が必要です。

概要:

Shell
$ sudo port install postgresql13-server
$ sudo port install geos
$ sudo port install proj6
$ sudo port install postgis3
$ sudo port install gdal
$ sudo port install libgeoip

WindowsLink to this heading

GeoDjango を Windows にインストールするには、以下のセクションを順番に進めてください。このチュートリアルでは、各アプリケーションの 64 ビット版をインストールします。

PythonLink to this heading

64ビット版のPythonをインストールします。詳しくは Python のインストール を参照してください。

PostgreSQLLink to this heading

EnterpriseDB のウェブサイトから最新の PostgreSQL 15.x installer をダウンロードしてください。ダウンロード後、インストーラーを実行し、画面の指示に従い、デフォルトのオプションを変更するリスクを理解していない限り、変更せずに進んでください。

インストーラーが完了すると、 "Launch Stack Builder at exit?" (スタックビルダーを終了時に起動しますか?)という質問が表示されます。これは、PostGIS をインストールするために必要ですので、チェックを入れたままにしてください。

PostGISLink to this heading

Stack Builder (インストーラの外で実行するには Start ‣ PostgreSQL 15 ‣ Application Stack Builder ) から、ドロップダウンメニューから PostgreSQL 15 (x64) on port 5432 を選択して next をクリックします。 Categories ‣ Spatial Extensions メニューツリーを展開し、 PostGIS X.Y for PostgreSQL 15 を選択します。

next をクリックすると、選択したパッケージと "Download directory" を確認するプロンプトが表示されます。もう一度 next をクリックすると、PostGIS がダウンロードされ、next をクリックして PostGIS のインストーラを開始するよう求められます。インストール中はデフォルトのオプションを選択してください。インストールプロセスでは、4つの Yes/No ダイアログボックスが表示されます。

OSGeo4WLink to this heading

OSGeo4W installer は GeoDjango で必要な PROJ、GDAL、GEOS ライブラリのインストールに役立ちます。まず、 OSGeo4W installer をダウンロードし、実行します。 Express Web-GIS Install を選択し、next をクリックします。 "Select Packages" リストで、GDAL が選択されていることを確認してください。他のパッケージがデフォルトで有効になっている場合、それらは GeoDjango には必要ないので、チェックを外しても大丈夫です。次へをクリックし、ライセンス契約に同意すると、パッケージが自動的にダウンロードされ、インストールされます。

Windows 環境変数の変更Link to this heading

GeoDjangoを使用するには、Windowsシステムの Path に OSGeo4W ディレクトリを追加し、 GDAL_DATAPROJ_LIB の環境変数を作成する必要があります。以下のコマンドセットは、 cmd.exe で実行可能で、これを設定します。新しい環境変数を認識させるために、この作業が完了したらデバイスを再起動してください。

Bat
set OSGEO4W_ROOT=C:\OSGeo4W
set GDAL_DATA=%OSGEO4W_ROOT%\apps\gdal\share\gdal
set PROJ_LIB=%OSGEO4W_ROOT%\share\proj
set PATH=%PATH%;%OSGEO4W_ROOT%\bin
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%"

DjangoのインストールとデータベースのセットアップLink to this heading

システムにDjangoを インストール します。作成する各プロジェクトに対して 仮想環境 を作成することを推奨します。

psycopgLink to this heading

Pythonモジュール psycopg は Python と PostgreSQL データベースのインターフェースを提供します。 psycopg は Python 仮想環境内で pip を使用してインストールできます:

Windows
...\> py -m pip install psycopg

脚注