导入GDAL会打印大量错误消息,但仍然有效

Kar*_*tik 7 python gdal python-3.x

所以,我不应该抱怨,但这很烦人.在我的设置(Windows Server 2012 R2)中,在终端中使用Python导入GDAL将打印以下内容:

>>> import gdal
ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
BAG.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
BAG.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
FITS.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
FITS.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
GMT.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
GMT.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
HDF4.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
HDF4.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
HDF4Image.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
HDF4Image.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
HDF5.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
HDF5.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
HDF5Image.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
HDF5Image.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
netCDF.dll
193: %1 is not a valid Win32 application.

ERROR 1: Can't load requested DLL: C:\Program Files (x86)\GDAL\gdalplugins\gdal_
netCDF.dll
193: %1 is not a valid Win32 application.

>>>
Run Code Online (Sandbox Code Playgroud)

但是我仍然可以毫无问题地使用GDAL,尽管有这些消息.在Jupyter中,不会打印这些错误.本身,只要功能不破坏,我就不关心这些消息,对于我的用例,它不会.但是,我正在调用multiprocessing Pool在12个内核上使用导入GDAL的功能,并且它会不必要地打印12次.这很烦人,主要是因为它模糊了我感兴趣的输出:执行进度.我能做些什么(隐藏这些消息或解决导致它们出现的潜在问题的方法)?

注意,Python版本是:Python 3.5.1 | Anaconda自定义(64位)| (默认,2016年2月16日,09:49:46)[MSC v.1900 64 bit(AMD64)]在win32上.GDAL显然是从Anaconda安装的,来自IOOS定制包.GDAL版本为1.11.4,np110py35_vc14_7.

Ben*_*min 2

查看源代码,您可以看到它尝试在 try/ except 块中导入模块。它将打印 GDAL 错误,但不会引发 Python 异常,除非使用gdal.UseExceptions().

某些函数/功能可能会出错,但您根本没有在脚本中使用它们。具体来说,它正在寻找一些 HDF 和其他格式的驱动程序。编译 OSGEO/GDAL 可能存在问题,因为对其中某些格式的支持需要特殊构建。

如果您确实需要这些格式的支持,您应该正确地重新构建,或者重新开始全新的“普通”安装。