PostGIS拡張機能を備えたローカルのpostgreSQLを使用できるように、Windowsコンピューターをセットアップしようとしています。これをインストールすると、geodangoを使用してプロジェクトをクラウドに配置する前にローカルで作成できるようになります。私はしばらくの間、SQLite DBを使用してローカルマシンでDjangoを使用していましたが、次のプロジェクトは部分的に座標ベースのデータに基づいているため、適切な環境をセットアップしました。
注をインポート:別の環境で実行するためにmini-condaをインストールしました。作業するときにこの環境の「開発」を有効にします
私はほとんどのジオジャンゴ情報/チュートリアルをオンラインで追跡しようとしましたが、機能しません。私がやったこと(主にこれに従った: https://docs.djangoproject.com/en/2.0/ref/contrib/gis/install/#windows ):
このすべての後、新しいDjango=プロジェクトを作成し、settings.pyにいくつかのパーツを追加しました。
INSTALLED_APPS = [
'Django.contrib.admin',
'Django.contrib.auth',
'Django.contrib.contenttypes',
'Django.contrib.sessions',
'Django.contrib.messages',
'Django.contrib.staticfiles',
'Django.contrib.gis',
'nameOfMyApp',
]
私はこれをsettings.pyにも持っています:
DATABASES = {
'default': {
'ENGINE': 'Django.contrib.gis.db.backends.postgis',
'NAME': 'geodjango',
'USER': '****',
'PASSWORD': '****',
'Host': 'localhost',
}
}
# FOR GEODJANGO
POSTGIS_VERSION = (2, 4, 3)
Djangoでデータベースをセットアップしようとすると、(正しいフォルダーで)実行されます:
python manage.py makemigrations
次のエラーが表示されます。
Django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal202", "gdal201", "gdal20", "gdal111", "gdal110", "gdal19"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.
私はそれを修正しようとしましたが、何もうまくいかないようです。誰も私にこれをすべてローカルに設定するのに助けてくれますか?
更新7-3-2018:
今、私は次のエラーを受け取ります:
OSError: [WinError 126] The specified module could not be found
(.dllが存在する間...)
私は窓のために働くために次を見つけました:
python
を実行して、pythonが32ビットか64ビットかを確認します。C:\OSGeo4W
またはC:\OSGeo4W64
:にインストールします以下がsettings.py
に含まれていることを確認してください。
import os
if os.name == 'nt':
import platform
OSGEO4W = r"C:\OSGeo4W"
if '64' in platform.architecture()[0]:
OSGEO4W += "64"
assert os.path.isdir(OSGEO4W), "Directory does not exist: " + OSGEO4W
os.environ['OSGEO4W_ROOT'] = OSGEO4W
os.environ['GDAL_DATA'] = OSGEO4W + r"\share\gdal"
os.environ['PROJ_LIB'] = OSGEO4W + r"\share\proj"
os.environ['PATH'] = OSGEO4W + r"\bin;" + os.environ['PATH']
python manage.py check
を実行して、geodangoが正しく機能していることを確認します。
私の場合、(Windows10Pro + Python3.7.1)、(自動的に選択された)dllが存在するだけでは不十分でした。つまり、gdal111.dll
です。
gdal204.dll
にもC:\OSGeo4W\bin
があり、lib_names
という名前のリスト変数を'gdal204'
で24行目(Windows NT共有ライブラリに関して)に「強化」しようとしたことに気付きました。 %PYTHON_ROOT%\Lib\site-packages\Django\contrib\gis\gdal\libgdal.py
の.
#[...]
Elif os.name == 'nt':
# Windows NT shared libraries
lib_names = ['gdal204', 'gdal202', 'gdal201', 'gdal20', 'gdal111', 'gdal110', 'gdal19']
#[...] ^^^^^^^
今のところ否定的な結果はありません。