目的
Pythonにおいて、
以下のエラーに出会うことはよくある。
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
もう少し手前から示すと、以下のようなエラー。
ImportError: Traceback (most recent call last):
File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 64, in <module>
from tensorflow.python._pywrap_tensorflow_internal import *
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
気分としては、
指定されたモジュール
が何か、具体的なファイル名を知りたい場合がある。
「指定されたモジュール」を知る方法
Process Monitor をインストール
以下のサイトから取得できる。
https://docs.microsoft.com/ja-jp/sysinternals/downloads/procmon#introduction
「指定されたモジュール」を知る
以下のような画面で、見つからないDLLがわかる。
(沢山の表示が出るので、適宜、フィルターをかけて下さい。python.exe等で。)
下記は、pygameで、「SDL.dll」というのを隠してみた例。
まとめ
見つからないDLLのファイル名がわかっても、対処方法としては、pathが変になっているとか、インストールがうまくいってないとか、何か、具体的な対処方法をとる必要があるので、ファイル名がわかるだけでは解決にならないですが、全然、原因がわからないときとかには、有効かも。。。
あちこちどこに探しにいっているかとかも、わかるので、自分の認識と、実際の動きの違いがわかり、原因究明になるかも。(Windows等に詳しい方は、もっと、簡単に、調べられるのかも。。。)
コメントなどあれば、お願いします。