2017-11-10 53 views
0

私は次の問題があります。anaconda 3をインストールし、anaconda環境に "pygrib"というパッケージをインストールしました。今、私の環境では、ファイル内pygribをインポートするとき、それは私にこのエラーが表示されます:私はnoobieだとしてpygrib anacondaをインポートすると依存関係の問題が発生する

import pygrib ImportError: libhdf5.so.10: cannot open shared object file: No such file or directory

、私は本当にこの情報をどのように処理するかを知りません。 h5pyパッケージとその他の関連パッケージをインストールしましたが、問題が解決しませんでした。何をすべきか?

答えて

0

これはHDF5ライブラリとのリンクエラーです。あなたがソースからpygribをビルドしていますか、condaでインストールするのにconda-forgeチャネルを使用していますか? conda-forgepygribビルドを使用すると、同じ問題が発生します。 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依存性を示すところです。正確な問題を把握できる場合は、この回答を更新します。

関連する問題