GeoDjango のインストールLink to this heading
概要Link to this heading
通常、GeoDjango のインストールには次のものが必要です:
各要件の詳細とインストール手順については、以下のセクションを参照してください。また、プラットフォーム別の手順もあります:
必要条件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.gis を INSTALLED_APPS に追加します。Link to this heading
他の Django contrib アプリケーションと同様に、設定の INSTALLED_APPS に django.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 プロファイルに記述できます:
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 など) を追加してください。これはその 一つ の例です:
$ sudo echo /usr/local/lib >> /etc/ld.so.conf
$ sudo ldconfig
OpenSolaris ユーザーは、crle ユーティリティを使ってシステムライブラリのパスを変更できます。オプションなしで crle を実行すると現在の設定が表示され、 crle -l を使用すると新しいライブラリパスが設定されます。システムライブラリパスを変更する際には、 非常に 注意してください:
# 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 システムでは以下のコマンドを使用してインストールできます:
$ sudo apt-get install binutils
Red Hat および CentOS システムでも同様です:
$ sudo yum install binutils
プラットフォーム固有の手順Link to this heading
macOSLink to this heading
macOS では様々なパッケージングシステムが利用できるため、ユーザは GeoDjango をインストールするのにいくつかの異なる選択肢があります。これらのオプションは以下の通りです:
Postgres.app (最も簡単、推奨)
このセクションには、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 サーバです。また、gdal と libgeoip を Homebrew と共にインストールする必要があります。
Postgres.appをインストールした後、コマンドラインからパッケージのプログラムを実行できるように、 .bash_profile に以下を追加してください。 X.Y をインストールした Postgres.app の PostgreSQL のバージョンに置き換えてください:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/X.Y/bin
ターミナルプロンプトで which psql と入力して、パスが正しく設定されているかを確認できます。
HomebrewLink to this heading
Homebrew は、ソースコードからバイナリおよびパッケージを構築するための「レシピ」を提供します。これは、macOS を実行している Macintosh コンピュータ上で GeoDjango の前提条件のためのレシピを提供しています。Homebrew はソフトウェアをソースコードから構築するため、 Xcode が必要となります。
概要:
$ brew install postgresql
$ brew install postgis
$ brew install gdal
$ brew install libgeoip
FinkLink to this heading
Kurt Schwehr は Fink パッケージシステムのユーザーのために GeoDjango パッケージを作成してくれました。使用したい Python のバージョンに応じて、Different packages are available です(django-gis から始まります)。
MacPortsLink to this heading
MacPorts を使うと、macOS を実行しているコンピュータに GeoDjango の依存関係をインストールできます。MacPorts はソフトウェアをソースからビルドするので、 Xcode が必要です。
概要:
$ 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 (インストーラの外で実行するには ) から、ドロップダウンメニューから を選択して next をクリックします。 メニューツリーを展開し、 を選択します。
next をクリックすると、選択したパッケージと "Download directory" を確認するプロンプトが表示されます。もう一度 next をクリックすると、PostGIS がダウンロードされ、next をクリックして PostGIS のインストーラを開始するよう求められます。インストール中はデフォルトのオプションを選択してください。インストールプロセスでは、4つの Yes/No ダイアログボックスが表示されます。
OSGeo4WLink to this heading
OSGeo4W installer は GeoDjango で必要な PROJ、GDAL、GEOS ライブラリのインストールに役立ちます。まず、 OSGeo4W installer をダウンロードし、実行します。 を選択し、next をクリックします。 "Select Packages" リストで、GDAL が選択されていることを確認してください。他のパッケージがデフォルトで有効になっている場合、それらは GeoDjango には必要ないので、チェックを外しても大丈夫です。次へをクリックし、ライセンス契約に同意すると、パッケージが自動的にダウンロードされ、インストールされます。
Windows 環境変数の変更Link to this heading
GeoDjangoを使用するには、Windowsシステムの Path に OSGeo4W ディレクトリを追加し、 GDAL_DATA と PROJ_LIB の環境変数を作成する必要があります。以下のコマンドセットは、 cmd.exe で実行可能で、これを設定します。新しい環境変数を認識させるために、この作業が完了したらデバイスを再起動してください。
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
psycopgLink to this heading
Pythonモジュール psycopg は Python と PostgreSQL データベースのインターフェースを提供します。 psycopg は Python 仮想環境内で pip を使用してインストールできます:
...\> py -m pip install psycopg
脚注