Проблема с установкой GeoDjango Не удалось найти библиотеку GDAL
Я следовал инструкции: https://docs.djangoproject.com/en/4.0/ref/contrib/gis/install/ для Windows 10 Я скачал Postgres и добавил установленный Postgis. Затем OSGeo4W в папке C:\OSGeo4W и выполнил пункт Modify Windows environment
Я создаю новый проект и одно приложение.
В settings.py добавлены:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'geodjango',
'USER': 'geo',
},
}
После запуска py manage.py runserver я получаю ошибку: django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (пробовал "gdal303", "gdal302", "gdal301", "gdal300", "gdal204", "gdal203", "gdal202", "gdal201", "gdal20"). Установлен ли GDAL? Если да, попробуйте установить GDAL_LIB RARY_PATH в ваших настройках.
Я добавляю (Python Root)\Lib\site-packages\django\contrib\gis\gdal\libgdal.py "gdal305", потому что этот файл у меня находится в C:\OSGeo4W\bin. Я получаю ошибку: FileNotFoundError: Не удалось найти модуль 'C:\OSGeo4W\bin\gdal305.dll' (или одну из его зависимостей). Попробуйте использовать полный путь с синтаксисом конструктора. (этот путь подходит) В settings.py я добавляю: GDAL_LIBRARY_PATH = r'C:\OSGeo4W\bin\gdal505', но у меня появляется та же ошибка, что и раньше. Поэтому я пробую в 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']
И я все еще получаю ту же ошибку : FileNotFoundError: Не удалось найти модуль 'C:\OSGeo4W\bin\gdal305.dll' (или одну из его зависимостей). Попробуйте использовать полный путь с синтаксисом конструктора
Версия Python 3.9.2 64bit В тот момент, когда я хочу проверить версию OSGeo4W, я получаю информацию, что не нахожу файл. Введите описание изображения здесь
введите описание изображения здесь
Пожалуйста, больше советов.
Проверьте, есть ли gdal305.dll в папке OSGEO4W/bin. Если он там есть, то проверьте, включили ли вы gdal305 в файл libgdal.py.
elif os.name == "nt":
# Windows NT shared libraries
lib_names = [
"gdal305",
"gdal304",
"gdal303",
"gdal302",
"gdal301",
"gdal300",
"gdal204",
"gdal203",
"gdal202",
"gdal201",
"gdal20",
]
Затем перезапустите приложение и проверьте, работает ли оно.