Я строю свой первый проект GeoDjango, но я немного отчаялся.
Я установил PostgreSQL 9 и PostGis 1.5 через Windows одним щелчком мыши. Так что все есть. Я установил для GEOS_LIBRARY_PATH полный путь к libgeos_c-1.dll в settings.py. Но когда я запускаю manage.py syncdb, я сталкиваюсь со следующими ошибками:
File "C:\Python25\lib\site-packages\django\contrib\gis\geometry\backend\geos.py", line 1, in <module>
from django.contrib.gis.geos import \
File "C:\Python25\Lib\site-packages\django\contrib\gis\geos\__init__.py", line 6, in <module>
from django.contrib.gis.geos.geometry import GEOSGeometry, wkt_regex, hex_regex
File "C:\Python25\Lib\site-packages\django\contrib\gis\geos\geometry.py", line 14, in <module>
from django.contrib.gis.geos.coordseq import GEOSCoordSeq
File "C:\Python25\Lib\site-packages\django\contrib\gis\geos\coordseq.py", line 9, in <module>
from django.contrib.gis.geos.libgeos import CS_PTR
File "C:\Python25\lib\site-packages\django\contrib\gis\geos\libgeos.py", line 51, in <module>
lgeos = CDLL(lib_path)
File "C:\Python25\lib\ctypes\__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found
Итак, я открываю libgeos.py и проверяю указанную строку. Это просто "CDLL (lib_path)". Очевидно, что lib_path - это GEOS_LIBRARY_PATH.
Итак, я создаю простой тест:
from ctypes import CDLL
lgeos = CDLL('libgeo's path')
Все еще есть та же проблема. Так что он просто не может использовать CDLL для загрузки этой DLL вообще с Python. На данном этапе я не знаю, что делать. Пожалуйста, помогите.