Vì vậy, tôi không nên phàn nàn, nhưng nó gây phiền nhiễu. Trên thiết lập của tôi (Windows Server 2012 R2) nhập GDAL bằng Python trong thiết bị đầu cuối, hãy in như sau:Nhập GDAL in nhiều thông báo lỗi, nhưng vẫn hoạt động
>>> 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.
>>>
Nhưng tôi vẫn có thể sử dụng GDAL mà không gặp bất kỳ vấn đề nào, mặc dù có thông báo đó. Trong Jupyter, những lỗi này không được in. Tuy nhiên, tôi không quan tâm đến những tin nhắn đó miễn là chức năng không bị phá vỡ, và cho usecase của tôi, nó không. Tuy nhiên, tôi đang gọi chức năng nhập GDAL bằng cách sử dụng multiprocessing Pool
, trên 12 lõi và in ra không cần thiết 12 lần. Điều đó gây khó chịu chủ yếu bởi vì nó che khuất đầu ra mà tôi quan tâm: tiến độ thực hiện. Tôi có thể làm gì về điều này (một cách để ẩn các thư này hoặc giải quyết các vấn đề cơ bản khiến chúng xuất hiện)?
Lưu ý, phiên bản Python là: Python 3.5.1 | Anaconda custom (64-bit) | (mặc định, ngày 16 tháng 2 năm 2016, 09:49:46) [MSC v. 1900 64 bit (AMD64)] trên win32. GDAL rõ ràng được cài đặt từ Anaconda, từ gói tùy chỉnh IOOS. Phiên bản GDAL là 1.11.4, np110py35_vc14_7.
Bạn đã thử sử dụng [mô-đun ghi nhật ký để nắm bắt cảnh báo] (https://docs.python.org/3/library/logging.html#logging.captureWarnings)? Trước khi bạn nhập: 'nhập nhật ký; logging.captureWarnings (True); nhập khẩu gdal; logging.captureWarnings (False) '. Điều đó có thể ẩn chúng khỏi in ấn để stderr. –
Tôi đã thử mọi thứ, ngay từ việc chuyển hướng bàn điều khiển sang sử dụng các gói để bỏ qua các cảnh báo. Mặc dù tôi đã không thử giải pháp cụ thể của bạn, tôi sẽ tưởng tượng nó sẽ không hoạt động. Nó không phải là python đang in các thông điệp GDAL, mà là GDAL. Những cảnh báo này đến từ mã C của GDAL, theo cách không được chuyển qua các ràng buộc GDAL của Python. Vì vậy, không có gì từ Python sẽ làm các trick, nó là một thiết lập cấu hình GDAL cần phải được thay đổi. Tôi không biết làm thế nào để làm điều đó. – Kartik
Ngoài ra, tôi là một thực tập sinh tại một công ty mà dự án của tôi liên quan đến việc sử dụng GDAL. Kể từ khi thực tập xong, tôi không còn làm việc với GDAL hoặc có quyền truy cập vào công ty để thử giải pháp của bạn. Nhưng nếu ai đó đang sử dụng GDAL và có vấn đề tương tự, người đó có thể được hưởng lợi từ giải pháp của bạn và có thể nhận xét để cho chúng tôi biết cách hoạt động của nó. – Kartik