Я использую Python 3.4, Postgres 9.3.5, Windows 7.
Я следовал этому, чтобы попытаться заставить работать GeoDjango: https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#windows
Когда я пытаюсь добавить django.contrib.gis в установленные приложения (в pycharm) или когда я пытаюсь запустить
ниже приведена трассировка.
Тем не менее, в этом каталоге C:\Python34\Lib\site-packages\django\contrib\gis\geos есть геометрия.py (который является классом GEOSGeometry в нем) и error.py (который имеет класс GEOSException в нем) .
Когда я запускаю это в оболочке python, он не выдает никаких ошибок:
>>> from django.contrib.gis.geos.error import GEOSException
Спасибо за любую мысль о том, в чем может быть проблема. Куча других трассировок, затем:
File "C:\Python34\lib\site-packages\django\contrib\gis\forms\fields.py", line
8, in <module>
from django.contrib.gis.geos import GEOSException, GEOSGeometry
ImportError: cannot import name 'GEOSException'
ОБНОВЛЕНИЕ Я нашел некоторую информацию, которая предложила мне обновить настройки проекта:
GEOS_LIBRARY_PATH = r'C:\Program Files\OSGeo4W64\bin\geos_c.dll'
Это сработало, но теперь я получаю WinError 126.
File "C:\Python34\lib\site-packages\django\contrib\gis\forms\fields.py", line
8, in <module>
from django.contrib.gis.geos import GEOSException, GEOSGeometry
File "C:\Python34\lib\site-packages\django\contrib\gis\geos\__init__.py", line
9, in <module>
from .libgeos import geos_version, geos_version_info # NOQA: flake8 detects
only the last __all__
File "C:\Python34\lib\site-packages\django\contrib\gis\geos\libgeos.py", line
61, in <module>
lgeos = CDLL(lib_path)
File "C:\Python34\lib\ctypes\__init__.py", line 351, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
Я не понимаю, какой именно модуль не может быть найден и как это исправить.