python没有找到django下的库,否则就找不到了

时间:2011-09-21 16:38:37

标签: python django module geodjango geos

我刚刚成功安装了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 个答案:

答案 0 :(得分:1)

感谢@ed。和@ g.d.d.c我找到了解决方案。问题也出现在Django shell中。结果我在我的Django设置中设置了GEOS_LIBRARY_PATH ='c:\ OSGeo4W',它应该是'c:\ OSGeo4W \ bin'。调用普通的Python显然忽略了这些设置,而是依靠操作系统自己的功能来查找.dll(成功)。