私はHugging FaceのTransformersをインストールしようとした際に以下のようなエラーが発生しました。対処方法の記録を残しておきます。同じ問題で困っている人の役に立てれば幸いです。fbgemm.dllで同様のエラーが出ている場合も対応できると思います。参考にしてください。
OSError: [WinError 126] 指定されたモジュールが見つかりません。 Error loading “C:\Users\username\python\openai-env\Lib\site-packages\torch\lib\fbgemm.dll” or one of its dependencies.
発生したエラー
Hugging FaceのTransformersをインストールして動作確認をしようと以下のコマンドを実行した際にエラーが発生しました。
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"
OSError: [WinError 126] 指定されたモジュールが見つかりません。 Error loading “C:\Users\username\python\openai-env\Lib\site-packages\torch\lib\fbgemm.dll” or one of its dependencies.
エラーの原因
エラーに表示されているパスに fbgemm.dll
は存在していたので fbgemm.dll
を動かすための依存関係が足りていないようです。いろいろ調べた結果、このサイトにたどり着きました。このサイトの情報によるとVC_redist.X64をインストールすると直るということです。
VC_redist.X64とは
VC_redist.X64はVisual C++ 再頒布可能パッケージのようです。Visual C++ 再頒布可能パッケージはVisualStudioをインストールするとインストールされるようなのでVisualStudioを使っている人はこのエラーは発生しないようです。私はVSCodeで動かしていたので依存関係が不足していたようです。
対応
ダウンロードページから自分の環境にあったインストーラーをダウンロードしてインストールしてください。インストール後は再起動を求められます。
再起動後に実行するとエラーが解消していました。
さいごに
なかなかに対応が分かりにくいエラーでした。日本語の情報も少なそうなので参考にしてください。
コメント
コメント一覧 (1件)
状況が少し違うのですが、私も同様のエラーで困っており、
非常に助かりました。ありがとうございます。
私の場合、Windows 環境でCUDA GPUに対応したPyTorchをインストールしようとし、動作テストでエラーが出てました。import pytorchを実行すると、__init__()内で、fbgemm.dllのロードを試み、エラーが発生してました。
さらに加えるとVisual Studio 2022をインストールした環境で、古いバージョンのVC_redist.x64 も入ってましたが、エラーが発生してました。新しいバージョンのredist.x64をインストールしても駄目でした。どうもVisual Studio 2022がインストールされた環境では、 C++ビルドツール経由でredist.x64関係のDLLをインストールする必要があるみたいです。単体でredist.x64のみインストールしても駄目でした。開発環境上そうする必要があるのかもしれません。(Microsoft.learnには、インストールされているビルドツールより新しいバージョンなら単体でも入れれるような事が注意書きにありました。) 最終的には、今まで入れていなかったC++デスクトップ開発のワークロードをVS2022インストーラで追加してビルドツールをインストールし、解決しました。(VS2022インストーラーでC++デスクトップ開発のワークロードにチェックを付けると、最新のビルドツールにもチェックがつきます。インストーラーでビルドツール単体を選択してインストールしても大丈夫かもしれませんが、ビルドツールにも様々なバージョンがあり、分かりにくいのでC++デスクトップ開発のワークロードで対応しました)