MENU

Knowledge Oasisは主にAIとAWSの知識を共有するブログです。その他ITに関する知識やまれに生活に役立つ知識も共有するかもしれません。

KOふみ
名前はKOふみ(こふみ)。独立系SIerで20年のキャリアを持ち、新人研修の講師から請負開発まで幅広く経験。現在はAIを駆使したソリューション開発に従事。資格は応用情報技術者、データベーススペシャリスト、プロジェクトマネージャー、PMP、簿記2級。AWS学習中で、将来はAWSアンバサダーを目指す。

OSError: [WinError 126] Error loading “foo\bar\fbgemm.dll” or one of its dependencies. の対処法

OSError: [WinError 126] Error loading "foo\bar\fbgemm.dll" or one of its dependencies. の対処法
  • URLをコピーしました!

私は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で動かしていたので依存関係が不足していたようです。

対応

ダウンロードページから自分の環境にあったインストーラーをダウンロードしてインストールしてください。インストール後は再起動を求められます。

再起動後に実行するとエラーが解消していました。

さいごに

なかなかに対応が分かりにくいエラーでした。日本語の情報も少なそうなので参考にしてください。

  • URLをコピーしました!

コメント

コメント一覧 (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++デスクトップ開発のワークロードで対応しました)

torch へ返信する コメントをキャンセル

目次