Python не находит библиотеку под Django, которая найдена иначе - PullRequest
1 голос
/ 21 сентября 2011

Я только что успешно установил GeoDjango и все необходимые библиотеки.Я установил переменные окружения и ключи реестра (да, здесь работает под Windows), и все работает, находи из командной строки.

d:\...\> python
>>> from django.contrib.gis.geos import *
>>> exit()
d:\...\> python manage.py runserver 0.0.0.0
(...)

Теперь, когда сервер, который запускается здесь, сталкивается с той же строкой в ​​кодеон должен выполнить, он говорит

WindowsError at /NT/BUAConvex/4DED02804:SQLEXPRESS:44_EU_2011Q2/20187417/
[Error 126] The specified module could not be found

D:\...\views.py in <module>
from django.contrib.gis.geos import * ...

c:\python27\lib\site-packages\django\contrib\gis\geos\__init__.py in <module>
from django.contrib.gis.geos.geometry import GEOSGeometry, wkt_regex, hex_regex ...

c:\python27\lib\site-packages\django\contrib\gis\geos\geometry.py in <module>
from django.contrib.gis.geos.coordseq import GEOSCoordSeq ...

c:\python27\lib\site-packages\django\contrib\gis\geos\coordseq.py in <module>
from django.contrib.gis.geos.libgeos import CS_PTR ...

c:\python27\lib\site-packages\django\contrib\gis\geos\libgeos.py in <module>
lgeos = CDLL(lib_path) ...

c:\python27\lib\ctypes\__init__.py in __init__
            self._handle = _dlopen(self._name, mode) ...

1 Ответ

1 голос
/ 22 сентября 2011

Благодаря @ed. и @ g.d.d.c я нашел решение. Проблема обнаружилась и в оболочке Django. Оказывается, я установил GEOS_LIBRARY_PATH = 'c: \ OSGeo4W' в моих настройках Django, где это должно было быть 'c: \ OSGeo4W \ bin'. Вызов простого Python явно игнорировал эти настройки и вместо этого полагался на собственную функциональность ОС, чтобы найти .dll (что успешно).

...