首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置Geodjango时,gdal1.10和python3.3在Windows7上不兼容

配置Geodjango时,gdal1.10和python3.3在Windows7上不兼容
EN

Stack Overflow用户
提问于 2014-02-01 02:51:14
回答 1查看 2K关注 0票数 1

我正在使用Windows7开发一个GeoDjango应用程序,我的Python版本是3.3。按照Django文档中的步骤,我安装了Postgresql9.1和Postgis扩展。然后,当我安装gdal库时,出现了一个问题。我从以下位置安装gdal:

代码语言:javascript
复制
http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal 

它说它有所有需要的文件。但对我来说,我不能正确地设置它。我用以下命令测试它

from django.contrib.gis import gdal

并提示以下错误:

代码语言:javascript
复制
>>> from django.contrib.gis import gdal
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\python33\lib\site-packages\django\contrib\gis\gdal\__in
it__.py", line 41, in <module>
    from django.contrib.gis.gdal.driver import Driver
  File "C:\Program Files\python33\lib\site-packages\django\contrib\gis\gdal\driv
er.py", line 5, in <module>
    from django.contrib.gis.gdal.prototypes import ds as capi
  File "C:\Program Files\python33\lib\site-packages\django\contrib\gis\gdal\prot
otypes\ds.py", line 8, in <module>
    from django.contrib.gis.gdal.libgdal import lgdal
  File "C:\Program Files\python33\lib\site-packages\django\contrib\gis\gdal\libg
dal.py", line 47, in <module>
    lgdal = CDLL(lib_path)
  File "C:\Program Files\python33\lib\ctypes\__init__.py", line 353, in __init__

    self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application。
>>>

因此,我检查了python3.3中的libgdal.py文件,发现gdal1.10没有lib名称,如以下代码所示:

代码语言:javascript
复制
elif os.name == 'nt':
    # Windows NT shared libraries
    lib_names = ['gdal19', 'gdal18', 'gdal17', 'gdal16', 'gdal15']

因此我将其更改为

代码语言:javascript
复制
elif os.name == 'nt':
    # Windows NT shared libraries
    lib_names = ['gdal110', 'gdal19', 'gdal18', 'gdal17', 'gdal16', 'gdal15']

我之所以这样做,是因为我发现gdal在我的python site-package文件夹中安装了一个'gdal110.dll‘文件。

代码语言:javascript
复制
C:\Program Files\python33\Lib\site-packages\osgeo

然而,这种修改也不起作用。

然后,我尝试将这一行添加到我的Django的settings.py中。

代码语言:javascript
复制
GDAL_LIBRARY_PATH = 'C:\Program Files\python33\Lib\site-packages\osgeo\gdal110.dll'

它仍然不能工作,错误信息和以前一样。

谁能给我指一条出路?

EN

回答 1

Stack Overflow用户

发布于 2014-02-01 15:17:15

问题已经解决了,我使用了下面的答案

Unable to install Python and GDAL (DLL load failed)

在此之前,我所做的就是重命名我的OSGeo4W文件夹(即删除它们)。现在Django可以从django.contrib.gis上找到gdal了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21487831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档