[WinError 126] 指定されたモジュールが見つかりません の原因と解決方法【PyTorch / DLL不足】

技術系ノウハウ

Windows環境でPythonライブラリ(特にPyTorch)を使っていると、以下のようなエラーが出た。

OSError: [WinError 126] 指定されたモジュールが見つかりません。
Error loading "...\torch\lib\fbgemm.dll" or one of its dependencies.

PyTorchが必要とするDLLファイルが見つからないエラー。
私の場合は OpenCV 系の DLL を読み込む処理で出ましたが、Python、ffmpeg、ゲーム系などでも同じエラーがよく出るらしいです。
私の環境(Python 3.10 / PyTorch 2.4.0+cu121)で最終的に解決した方法と、試した手順をまとめます。

試したが効果がなかった方法

1. Visual C++ 再頒布可能パッケージの再インストール

Microsoft公式サイトから最新版のVisual C++ Redistributableを再インストール。
効果なし

2. NumPyバージョン調整

numpy<2 にダウングレードしてPyTorchの互換性を確保。

pip install --upgrade --force-reinstall "numpy<2"

→ 一部のNumPy依存エラーは消えたが、[WinError 126] は残った。

3. PyTorchの再インストール

PyTorch本体と関連パッケージ(torchvision, torchaudio)をCUDAバージョン指定で再インストール。

pip install --upgrade --force-reinstall torch==2.4.0+cu121 torchvision==0.19.0+cu121 torchaudio==2.4.0+cu121 --index-url https://download.pytorch.org/whl/cu121

→ エラー変わらず。

libomp140.x86_64.dllを配置して解決

不足していたのは libomp140.x86_64.dll という Intel OpenMPランタイムライブラリ
これはPyTorch内部のfbgemm.dllが依存しているDLLらしい。

1. DLLファイルを入手(各自で検索・自己責任)

libomp140.x86_64.dll で検索し、各自の判断で入手してください。

自己責任のお願い

  • 出所が不明な DLL はセキュリティリスクがあります。
  • なるべく 公式・信頼できる配布元 を選んでください。
  • ダウンロードしたファイルは ウイルススキャンデジタル署名の有無確認ハッシュ確認(例:SHA-256) を推奨します。

2. 配置先

入手したlibomp140.x86_64.dll管理者権限C:\Windows\System32 にコピー。

注意:System32 に配置する際、既存の同名ファイルがある場合は必ず別名でバックアップしてください。誤ったDLLの上書きは、システムの動作に重大な影響を与えるおそれがあります。

他ユーザーの報告

同様のエラーは海外フォーラムでも多数報告されています。

“But the issue solved by simply downloading libomp140.x86_64.dll and place it in ‘C:\Windows\System32’ and it finally works after long pain of trying this and that!”

“Since it is distributed with visual studio (not visual studio code) I installed visual studio community edition and libomp140.x86_64.dll was now put in both the visual studio program files and in C:\Windows\System32\ ie. in the Path. Now the ComfyUI main.py script runs fine on my system. Hope this helps.”

[WinError 126] の原因と解決方法まとめ

  • 原因:PyTorchが依存する libomp140.x86_64.dll が見つからない
  • 解決:DLLを入手し、C:\Windows\System32 に配置

DLL不足はPyTorchだけでなく、他の科学計算系ライブラリや機械学習フレームワークでも起こり得ます。エラーが出たらまずは「どのDLLが不足しているか」を確認して配置することが重要です。

コメント

タイトルとURLをコピーしました