GeoDjangoのインストール—Djangoのドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/ref/contrib/gis/install/index
移動先:案内検索

GeoDjangoのインストール

概要

一般に、GeoDjangoのインストールには以下が必要です。

  1. PythonとDjango
  2. 空間データベース
  3. 地理空間ライブラリのインストール

各要件とインストール手順の詳細は、以下のセクションに記載されています。 さらに、プラットフォーム固有の手順は次の目的で利用できます。

ソースを使用する

GeoDjangoは最新のオープンソース地理空間ソフトウェアテクノロジーを利用しているため、ライブラリの最新バージョンが必要です。 ご使用のプラットフォームでバイナリパッケージが利用できない場合は、ソースからのインストールが必要になる場合があります。 ソースからライブラリをコンパイルするときは、特に初心者の場合は、指示に厳密に従ってください。


要件

PythonとDjango

GeoDjangoはDjangoに含まれているため、インストール方法の詳細については、Djangoのインストール手順を参照してください。


空間データベース

PostgreSQL(PostGISを使用)、MySQL(主にMyISAMエンジンを使用)、Oracle、およびSQLite(SpatiaLiteを使用)は、現在サポートされている空間データベースです。

ノート

PostGISは、最も成熟していて機能が豊富なオープンソースの空間データベースであるため、推奨されます。


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

データベース ライブラリ要件 サポートされているバージョン ノート
PostgreSQL GEOS、GDAL、PROJ、PostGIS 9.6+ PostGISが必要です。
MySQL GEOS、GDAL 5.7+ 制限された機能
オラクル GEOS、GDAL 12.2+ XEはサポートされていません。
SQLite GEOS、GDAL、PROJ、SpatiaLite 3.9.0+ SpatiaLite4.3以降が必要

PostgreSQL / PostGIS / GEOS / GDALの可能な組み合わせについては、OSGeoWikiのこの比較マトリックスも参照してください。


インストール

データベースのインストール

:setting: `DATABASES` 構成

をセットする :setting: `ENGINE ` のいずれかに設定空間バックエンド


django.contrib.gisをに追加します:setting: `INSTALLED_APPS`

他のDjangocontribアプリケーションと同様に、のみdjango.contrib.gis:setting: `INSTALLED_APPS` に追加する必要があります。 これは、gisテンプレートを見つけることができるようにするためです。そうしないと、地理管理やKMLサイトマップなどの機能が正しく機能しません。


トラブルシューティング

ここで問題の解決策が見つからない場合は、コミュニティに参加してください。 あなたはできる:

  • Libera.Chatの#django-geo IRCチャネルに参加します。 辛抱強く丁寧に対応してください。すぐに回答が得られない場合もありますが、誰かが質問を見つけたらすぐに回答しようとします。
  • GeoDjango フォーラムで質問してください。
  • バグがあると思われる場合は、 Django trac でチケットを提出してください。 問題の完全な説明、使用されているバージョンを提供し、コンポーネントを「GIS」として指定してください。

ライブラリ環境設定

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

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

LD_LIBRARY_PATH環境変数

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

export LD_LIBRARY_PATH=/usr/local/lib

システムライブラリパスの設定

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

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

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

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

binutilsをインストールします

GeoDjangoは、find_library関数(ctypes.util Pythonモジュールから)を使用してライブラリを検出します。 find_libraryルーチンは、objdumpbinutilsパッケージの一部)と呼ばれるプログラムを使用して、GNU / Linuxシステム上の共有ライブラリを検証します。 したがって、binutilsがLinuxシステムにインストールされていない場合、ライブラリパスが正しく設定され、地理空間ライブラリが完全に構築されていても、Pythonのctypesがライブラリを見つけられない可能性があります。

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

$ sudo apt-get install binutils

同様に、Red HatおよびCentOSシステムでは:

$ sudo yum install binutils

プラットフォーム固有の手順

マックOS

macOSで利用できるパッケージングシステムはさまざまであるため、ユーザーはGeoDjangoをインストールするためのいくつかの異なるオプションを利用できます。 これらのオプションは次のとおりです。

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

Python

macOSにはPythonがインストールされていますが、ユーザーはPython SoftwareFoundationが提供するフレームワークインストーラーを使用できます。 インストーラーを使用する利点は、macOSのPythonが内部オペレーティングシステムで使用するために「元の状態」のままになることです。

ノート

コマンドラインでpythonを入力したときに新しいバージョンのPythonが使用されるように、.profileファイルのPATH環境変数を変更する必要があります。

export PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH

Postgres.app

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

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

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

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


自作

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

概要:

$ brew install postgresql
$ brew install postgis
$ brew install gdal
$ brew install libgeoip

KyngChaosパッケージ

William Kyngesburyeは、GeoDjangoをソースからコンパイルせずにmacOSにインストールするのに役立つ地理空間ライブラリバイナリパッケージを多数提供しています。 ただし、Pythonデータベースアダプター psycopg2 (PostGIS用)をコンパイルするには、 Xcode が引き続き必要です。

ノート

SpatiaLiteユーザーは、追加の手順についてパッケージをインストールした後、 macOS固有の手順セクションを参照する必要があります。


次のフレームワークパッケージをダウンロードします。

  • UnixImageIO
  • PROJ
  • GEOS
  • SQLite3(SpatiaLiteライブラリを含む)
  • GDAL

GDALおよびSQLiteパッケージには前にリストされているパッケージが必要なため、上記の順序でパッケージをインストールします。

その後、 PostgreSQLおよびPostGIS 用のKyngChaosバイナリパッケージをインストールすることもできます。

バイナリパッケージをインストールした後、コマンドラインからパッケージプログラムを実行できるように、.profileに以下を追加する必要があります。

export PATH=/Library/Frameworks/UnixImageIO.framework/Programs:$PATH
export PATH=/Library/Frameworks/PROJ.framework/Programs:$PATH
export PATH=/Library/Frameworks/GEOS.framework/Programs:$PATH
export PATH=/Library/Frameworks/SQLite3.framework/Programs:$PATH
export PATH=/Library/Frameworks/GDAL.framework/Programs:$PATH
export PATH=/usr/local/pgsql/bin:$PATH

psycopg2

上記のように、KyngChaosバイナリをインストールし、PATHを変更した後、次のコマンドを使用してpsycopg2をインストールできます。

$ python -m pip install psycopg2

ノート

pipがない場合は、インストール手順に従ってインストールしてください。


フィンク

Kurt Schwehr は、 Fink パッケージシステムのユーザー向けにGeoDjangoパッケージを作成するのに十分なほど親切でした。 使用するPythonのバージョンに応じて、さまざまなパッケージが利用可能ですdjango-gis以降)。


MacPorts

MacPorts を使用して、macOSを実行しているコンピューターにGeoDjangoの前提条件をインストールできます。 MacPortsは引き続きソフトウェアをソースからビルドするため、 Xcode が必要です。

概要:

$ sudo port install postgresql93-server
$ sudo port install geos
$ sudo port install proj
$ sudo port install postgis
$ sudo port install gdal +geos
$ sudo port install libgeoip

ノート

また、.profilePATHを変更して、コマンドラインからMacPortsプログラムにアクセスできるようにする必要があります。

export PATH=/opt/local/bin:/opt/local/lib/postgresql93/bin

さらに、DYLD_FALLBACK_LIBRARY_PATH設定を追加して、Pythonでライブラリを見つけられるようにします。

export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:/opt/local/lib/postgresql93

ウィンドウズ

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

Python

64ビットバージョンのPythonをインストールします。 詳細については、 Pythonのインストールを参照してください。


PostgreSQL

EnterpriseDB Webサイトから最新の PostgreSQL12.xインストーラーをダウンロードします。 ダウンロード後、インストーラーを実行し、画面の指示に従い、変更の結果がわからない限り、デフォルトのオプションを保持します。

ノート

PostgreSQLインストーラーは新しいpostgresデータベーススーパーユーザーを作成しますパスワードを設定するように一度求められます-それを忘れないでください!


インストーラーが完了すると、「終了時にStack Builderを起動しますか?」というメッセージが表示されます。 – PostGIS をインストールする必要があるため、これをチェックしておいてください。

ノート

正常にインストールされると、システムがWindowsサービスとして開始されるたびに、PostgreSQLサーバーがバックグラウンドで実行されます。 PostgreSQL 12 スタートメニューグループが作成され、アプリケーションスタックビルダー(ASB)のショートカットと、psqlコマンドウィンドウを起動する「SQLシェル」が含まれます。


PostGIS

Stack Builder内から(インストーラーの外部で実行するには、Start‣PostgreSQL12‣ApplicationStackBuilder )、ドロップダウンメニューからポート5432 PostgreSQL 12(x64)を選択します。 [次へ]をクリックします。 Categories‣SpatialExtensionsメニューツリーを展開し、 PostGIS XY for PostgreSQL12 を選択します。

[次へ]をクリックすると、選択したパッケージと「ダウンロードディレクトリ」を確認するように求められます。 もう一度[次へ]をクリックすると、PostGISがダウンロードされ、[次へ]をクリックしてPostGISインストーラーを開始するように求められます。 インストール中にデフォルトのオプションを選択します。 インストールプロセスには3つの[はい/いいえ]ダイアログボックスが含まれ、3つすべてのデフォルトオプションは[いいえ]です。


OSGeo4W

OSGeo4Wインストーラーは、GeoDjangoに必要なPROJ、GDAL、およびGEOSライブラリのインストールに役立ちます。 まず、 OSGeo4Wインストーラー(64ビット)をダウンロードして実行します。 Express Web-GIS Install を選択し、[次へ]をクリックします。 [パッケージの選択]リストで、GDALが選択されていることを確認します。 MapServerもデフォルトで有効になっていますが、GeoDjangoでは必須ではなく、安全にチェックを外すことができます。 [次へ]をクリックして使用許諾契約に同意すると、パッケージが自動的にダウンロードおよびインストールされます。その後、インストーラーを終了できます。


Windows環境を変更する

GeoDjangoを使用するには、OSGeo4WディレクトリをWindowsシステムPathに追加し、GDAL_DATAおよびPROJ_LIB環境変数を作成する必要があります。 cmd.exeで実行可能な次の一連のコマンドは、これを設定します。 新しい環境変数が認識されるようにこれが完了したら、デバイスを再起動します。

set OSGEO4W_ROOT=C:\OSGeo4W64
set GDAL_DATA=%OSGEO4W_ROOT%\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%"

ノート

これは、64ビットバージョンのOSGeo4Wがインストールされていることを前提としています。 32ビットバージョンをインストールした場合は、最初のコマンドをset OSGEO4W_ROOT=C:\OSGeo4Wに変更する必要があります。


ノート

これらのコマンドを実行するには、管理者権限が必要です。 これを行うには、管理者としてコマンドプロンプトを実行し、上記のコマンドを入力します。 設定を有効にするには、ログアウトしてから再度ログインする必要があります。


ノート

OSGeo4Wインストールディレクトリをカスタマイズした場合は、それに応じてOSGEO4W_ROOT変数を変更する必要があります。


Djangoをインストールし、データベースをセットアップします

システムにDjango をインストールします。 作成するプロジェクトごとに仮想環境を作成することをお勧めします。


psycopg2

psycopg2 Pythonモジュールは、PythonとPostgreSQLデータベース間のインターフェースを提供します。 psycopg2は、Python仮想環境内にpipを介してインストールできます。

...\> py -m pip install psycopg2

脚注

1
GeoDjangoは、ctypes.utilfind_library()ルーチンを使用して、共有ライブラリを検索します。