これはHDF5ライブラリとのリンクエラーです。あなたがソースからpygrib
をビルドしていますか、conda
でインストールするのにconda-forge
チャネルを使用していますか? conda-forge
のpygrib
ビルドを使用すると、同じ問題が発生します。 ECMWFのGRIB API(conda-forge
にはecmwf_grib
と記載されています)はPygribが依存しているもので、HDF5依存性はGRIB APIライブラリで使用されているnetCDF4に由来します。具体的には、最新のHDF5(現時点では1.10.0)を使用して問題を引き起こしています。代わりにHDF5 1.8。*を使用すると、pygrib
を適切にインポートできます。
だけで行う、特定のバージョンをつかむためにcondaを強制するには:
conda install pygrib hdf5=1.8
はこの古いHDF5ライブラリと問題までありそう明らかに再びパッケージの仕様を解決するためにconda
を取得します。これは、あなたがpygrib
をインストールしたconda
環境にいることを前提としています。また、希望する場合はconda create -n <env name> pygrib hdf5=1.8
で新しい環境を作成することもできます。
一般的に、ライブラリが見つからない場合は、正しいバージョンのライブラリをインストールすることが重要です。 conda
では、パッケージを更新するときに、ライブラリの新しいバージョンがインストールされて、使用しているパッケージが正しくリンクされていないときに、このようなことが起こります。問題の原因となっているパッケージ/ライブラリを追跡できれば、上記の手順を使用して特定のバージョンのインストールを開始することができます。conda
は物事を更新または格下げして再び一緒に働かなければなりません。うまくいけば、これは理にかなって役立ちます。
この部分は興味深いかもしれませんが、私はこの問題が起きている箇所は確かに言えません。私の推測は、それがecmwf_grib
とそれがどのように構築されているかであるということです。それはldd
が私のインストールで現れる古いHDF5依存性を示すところです。正確な問題を把握できる場合は、この回答を更新します。