Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Importing GDAL prints lots of error messages, but still works

So, I should not be complaining, but it is annoying. On my setup (Windows Server 2012 R2) importing GDAL in Python in the terminal prints the following:

>>> 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.

>>>

But I can still use GDAL without any problems, despite those messages. In Jupyter, those errors are not printed. Per se, I don't care about those messages as long as functionality does not break, and for my usecase, it does not. However, I am calling the function that imports GDAL using multiprocessing Pool, on 12 cores, and it prints that out needlessly 12 times. That gets annoying mainly because it obscures the output I am interested in: execution progress. What can I do about this (either a way to hide these messages, or resolve the underlying issues that cause them to appear)?

Note, Python version is: Python 3.5.1 |Anaconda custom (64-bit)| (default, Feb 16 2016, 09:49:46) [MSC v. 1900 64 bit (AMD64)] on win32. GDAL is obviously installed from Anaconda, from the IOOS custom package. GDAL version is 1.11.4, np110py35_vc14_7.

like image 233
Kartik Avatar asked Jul 27 '16 00:07

Kartik


2 Answers

I had a similar issue. I had the GDAL_DRIVER_PATH variable set on Windows, which was causing this logs / errors. I assume it came from a previous installation of GDAL which I made and was still pointing to the wrong directory.

like image 106
DonChulius Avatar answered Sep 21 '22 18:09

DonChulius


Looking at the source, you can see that it tries to import modules in a try/except block. It will print GDAL errors but will not raise Python exceptions, unless that mode is enabled with gdal.UseExceptions().

It is likely that certain functions / functionality would error out but that you are simply not making use of them in your scripts. Specifically, it is looking for some drivers for HDF and other formats. There may have been an issue compiling OSGEO/GDAL since support for some of these formats requires special builds.

You should either re-build correctly if you do need support for these formats, or start again with a fresh "plain" install.

like image 24
Benjamin Avatar answered Sep 24 '22 18:09

Benjamin