GDAL 适用于 Bash 但不适用于 Python

GDAL works in Bash but not Python

一段时间以来,我一直在努力正确安装 GDAL,就在我认为一切正常时,我发现了另一个障碍。

我已经使用 here 中描述的解决方案安装了 GDAL,它是一种支持 HDF4 文件格式的形式。例如,在 bash return 中使用 gdalinfo --formats 支持的文件格式列表,其中包含 HDF4。此外,gdalinfo XYZ.hdf return 是对我输入的任何 hdf 文件的完整描述。

但是,当我尝试通过 Python 处理 HDF4 文件时,我 spring 收到一个错误,指出 HDF4 不是受支持的文件格式。使用

 import osgeo.gdal as gdal
 gdal.GetDriverByName('HDF4')

无论如何都不会产生 return。

我很困惑,因为 GDAL 似乎是为我正确构建的,但我无法通过 Python 让它工作。我探索了 this source as well as this source,但他们描述了支持 HDF4 的 GDAL 安装——我已经完成了。出于某种原因,似乎 Python 不知道如何使用我安装的 GDAL 以发挥其最大潜力...

版本: Mac OSX El Capitan 版本 10.11.6; GDAL 2.2.1,2017/06/23 发布

伙计们,终于弄明白了。我不确定我需要或不需要哪些具体步骤,所以我将 post 我的完整工作流程以保持透明度。

根据上面 Dmitri 和 Logan 的评论,我调查了我是否有合适的 gdal python 库,而不是只是一个 gdal bash 库。仍然不确定有什么区别,但事实证明我在 anaconda 的包子文件夹中存在几个不同的 gdal 库(cd /Users/myusername/anaconda/pkgsls)。我使用 rm 和一些标签(也许 -r?)删除了这些库。

然后我按照 posted here 的指南使用 anaconda 重新安装了我的空间库。不幸的是,我的 bash 无法访问 jgomezdans 网站,但我可以使用 conda install proj4(而不是 conda install -c https://conda.binstar.org/jgomezdans proj4)等绕过等式的这个元素。

安装完所有 scipy 等东西后,我引入了 proj4hdf4gdal(按此顺序)。在尝试安装 geos 时,我遇到了一个错误,提示它已被安装。

完成所有这些后,我使用了我原来的 post 以及 Logan 评论中的命令来检查 HDF4 是否存在。我的命令returns如下:

<osgeo.gdal.Driver; proxy of <Swig Object of type 'GDALDriverShadow *' at 0x10fc66180> >

Logan 的 returns python 的 gdal 中可用 gdal 驱动程序的完整列表。果然hdf4上榜了

tl;dr 我卸载了所有东西并重新安装了很多东西。