2016-07-27 2 views
6

だから、私は文句を言うべきではありませんが、迷惑です。私のセットアップ上の(のWindows Server 2012 R2)の端末にPythonでGDALをインポートする次のように出力されます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 custom(64-bit)です。 (デフォルト、Feb 16 2016、09:49:46)win32上の[MSC v。1900 64ビット(AMD64)]。 GDALは、AnacondaからIOOSカスタムパッケージからインストールされていることは明らかです。 GDALバージョンは1.11.4、np110py35_vc14_7です。

+0

[警告をキャプチャするためのログモジュール](https://docs.python.org/3/library/logging.html#logging.captureWarnings)を使用してみましたか?インポートする前に: 'import logging; logging.captureWarnings(True);輸入gdal; logging.captureWarnings(False) 'を実行します。それによって、それらが標準出力に印刷されないことがあります。 –

+0

コンソールをリダイレクトしてからパッケージを使用して警告を無視するまで、私はすべてを試しました。私はあなたの特定の解決策を試しませんでしたが、私はそれが動作しないと思うでしょう。これは、GDALメッセージを印刷しているPythonではなく、GDAL自体です。これらの警告は、Python GDALバインディングを経由しないように、GDALのCコードから来ています。したがって、Pythonのものは何もしません。変更する必要のあるGDAL設定です。私はそれを行う方法がわかりません。 – Kartik

+0

また、GDALを使ってプロジェクトを行っていた会社のインターンだった。そのインターンシップが終了して以来、私はもはやGDALと仕事をしたり、あなたのソリューションを試してみるために会社にアクセスすることはできません。しかし、他の誰かがGDALを使用していて同様の問題がある場合、その人はあなたのソリューションの恩恵を受けるかもしれません。 – Kartik

答えて

1

the sourceを見ると、try/exceptブロックでモジュールをインポートしようとしていることがわかります。 GDALエラーを出力しますが、そのモードがgdal.UseExceptions()で有効になっていない限り、Pythonの例外は発生しません。

特定の機能や機能がエラーになる可能性がありますが、スクリプトでそれらの機能を使用していない可能性があります。具体的には、HDFやその他のフォーマット用のドライバを探しています。 OSGEO/GDALをコンパイルする際に問題が発生した可能性があります。これらの形式のサポートには特別なビルドが必要なためです。

これらの形式のサポートが必要な場合は、正しく再ビルドするか、新しい「プレーン」インストールを再度開始する必要があります。

関連する問題