Nie powinienem narzekać, ale to jest denerwujące. Na mojej konfiguracji (Windows Server 2012 R2) przywozu gdal w Pythonie w końcowych wydruków co następuje:Importowanie GDAL drukuje wiele komunikatów o błędach, ale nadal działa
>>> 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.
>>>
Ale mogę nadal korzystać gdal bez problemu mimo tych wiadomości. W Jupyter błędy te nie są drukowane. Sam nie przejmuję się tymi wiadomościami, dopóki funkcjonalność się nie psuje, a na mój użytek nie ma. Jednak nazywam funkcję, która importuje GDAL przy użyciu multiprocessing Pool
, na 12 rdzeniach, i drukuje to niepotrzebnie 12 razy. To staje się denerwujące głównie dlatego, że zaciemnia dane wyjściowe, które mnie interesują: postęp realizacji. Co mogę z tym zrobić (sposób na ukrycie tych wiadomości lub rozwiązanie problemów, które powodują ich pojawienie się)?
Uwaga, wersja Pythona to: Python 3.5.1 | Anaconda custom (64-bit) | (domyślnie, 16 lutego 2016, 09:49:46) [MSC v. 1900 64 bit (AMD64)] na win32. GDAL jest oczywiście zainstalowany z Anacondy, z niestandardowego pakietu IOOS. Wersja GDAL to 1.11.4, np110py35_vc14_7.
Czy próbowałeś użyć [modułu logowania do przechwytywania ostrzeżeń] (https://docs.python.org/3/library/logging.html#logging.captureWarnings)? Przed importowaniem: 'importowanie logowania; logging.captureWarnings (True); import gdal; logging.captureWarnings (False) '. To może ukryć je przed drukowaniem na stderr. –
Próbowałem wszystkiego, od przekierowania konsoli do używania pakietów do ignorowania ostrzeżeń. Chociaż nie wypróbowałem twojego konkretnego rozwiązania, wyobrażam sobie, że to nie zadziała. To nie jest pyton, który drukuje wiadomości GDAL, ale sam GDAL. Ostrzeżenia te pochodzą z kodu C GDAL, w sposób, który nie jest przekazywany przez powiązania Python GDAL. Nic z Pythona nie zadziała, jest to ustawienie konfiguracyjne GDAL, które należy zmienić. Nie wiem jak to zrobić. – Kartik
Byłem stażystą w firmie, w której mój projekt wymagał użycia GDAL. Od zakończenia tego stażu nie pracuję już z GDAL ani nie mam dostępu do firmy, aby wypróbować Twoje rozwiązanie. Ale jeśli ktoś inny używa GDAL i ma podobne problemy, ta osoba może skorzystać z twojego rozwiązania i może skomentować, aby poinformować nas, jak to działa. – Kartik