首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Geodjango找不到GDAL,Python找不到GDAL

Geodjango找不到GDAL,Python找不到GDAL
EN

Stack Overflow用户
提问于 2014-04-21 12:25:40
回答 2查看 2.6K关注 0票数 2

我遵循了GeoDjano中提到的所有讨论和步骤,但陷入了另一个问题,无法获得GeoDjango可用的GDAL。

在Python (C:\Python 27)中,我能够导入gdal,但是GeoDjano表示在Django/GeoDjango应用程序Shell下错误查询gdal.HAS_GDAL,并在涉及GDAL的任何几何操作(例如country.geom.geojson生成)上获得错误:

代码语言:javascript
复制
GEOSException: GeoJSON output only supported when GDAL is installed

我已将Python2.7安装为C:\Python27 27,其中包含:

代码语言:javascript
复制
C:\Python27\; C:\Python27\bin; C:\Python27\scripts; C:\Program Files\GDAL;

和其他环境变量如下:

代码语言:javascript
复制
GDAL_DATA         C:\Program Files\GDAL\gdal-data
GDAL_DRIVER_PATH  C:\Program Files\GDAL\gdalplugins
GDAL_LIBRARY_PATH C:\Program Files\GDAL

还试图将GDAL_LIBRARY_PATH="C:\\Program Files\\GDAL"放入settings.py中,但没有奏效。

我正在使用Windows7终极x64、Python2.7.3、Django 1.5.1,并尝试安装/重新安装GDAL和Python绑定二进制文件。

EN

回答 2

Stack Overflow用户

发布于 2017-03-19 01:38:48

Python没有检测到GDAL安装,因为Windows环境变量没有正确设置。

我只能解决这个问题,放弃OSGeo4w并使用GDAL和MapServer

您只需要编辑libgdal.py (正如Roberto Ribeiro所说,如果您使用的是GDALVersion2.x,而可能不是您的案例)。

票数 1
EN

Stack Overflow用户

发布于 2016-09-19 21:25:45

问题在于django如何调用GDAL模块:它从有限的可能DLL列表(gdal111、gdal110、gdal19等)中查找GDAL路径中的特定gdal110。

问题是,根据您从哪个二进制文件安装GDAL,它可能有不同的DLL名称。例如,Gohlke的二进制文件生成一个"gdal201.dll",它不在django列表中。因此,它找不到它。

您需要做的是,首先在GDAL安装中找到DLL的名称(应该是GDAL文件夹中最大的文件大小),然后将其添加到位于..\Python27\lib\site-packages\django\contrib\gis\gdal\libgdal.py的libgdal.py列表中。

该列表位于第26行,应改为: lib_names =‘gdal17 111’,‘gdal17 110’,‘gdal17 19’,‘gdal17 18’,'gdal17‘

...or的一些变化,取决于您的django版本。只要将您的DLL名称添加到列表中,它就会做得很好。

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

https://stackoverflow.com/questions/23197431

复制
相关文章

相似问题

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