编程语言
首页 > 编程语言> > Python无法加载libgeos_c-1.dll

Python无法加载libgeos_c-1.dll

作者:互联网

我正在建立我的第一个GeoDjango项目,但我有点绝望.

我在Windows上通过一键安装程序安装了PostgreSQL 9和PostGis 1.5.所以那里就是一切.我将GEOS_LIBRARY_PATH设置为settings.py中libgeos_c-1.dll的完整路径.但是当我运行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.在这个阶段,我不知道该怎么做.请帮忙.

解决方法:

同样的问题在这里您是否可以如此善良地分享正确的DLL?如果那确实解决了问题.或者是以唯一的方式安装OSGeo4W?如果是这样,你遵循了什么安装程序?

标签:python,django,ctypes,geodjango
来源: https://codeday.me/bug/20190606/1189709.html