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

问题描述 投票:0回答:4

所以,我不应该抱怨,但这很烦人。在我的设置 (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.

>>>

但尽管有这些消息,我仍然可以毫无问题地使用 GDAL。在 Jupyter 中,不会打印这些错误。本质上,只要功能不破坏,我并不关心这些消息,对于我的用例来说,它不会破坏。但是,我在 12 个核心上调用使用

multiprocessing Pool
导入 GDAL 的函数,并且它不必要地打印了 12 次。这很烦人,主要是因为它掩盖了我感兴趣的输出:执行进度。我能对此做些什么(隐藏这些消息的方法,或解决导致它们出现的根本问题)?

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

python python-3.x gdal
4个回答
4
投票

我也有类似的问题。我在 Windows 上设置了

GDAL_DRIVER_PATH
变量,这导致了此日志/错误。我认为它来自我以前安装的
GDAL
,但仍然指向错误的目录。


2
投票

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

gdal.UseExceptions()
启用该模式。

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

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


0
投票

这对我有用:将 gdalplugins 文件夹路径 (C:\Program Files\GDAL\gdalplugins) 添加到您的

PATH
环境变量中。


0
投票

太烦人了,我也遇到了同样的问题,现在有好的办法解决吗

© www.soinside.com 2019 - 2024. All rights reserved.