Eclipseで実装したPythonモジュールをコマンドプロンプト側から実行すると、
ModuleNotFoundErrorで怒られてしまいました。
ModuleNotFoundError: No module named 'xxxx'
私の環境では、原因は実行しようとしたPythonモジュールからfromやimportで参照しているモジュールが見つからないことでした。
その他、考えられる原因と対処法を記載しておきます。
windows10環境で実行しています。
発生した事象
コマンドプロンプトを開いて下のコマンドを実行して、Pythonの実行ファイル【python.exe】があるかを確認します。
where python
見つからない場合はPythonがインストールされていない可能性が高いので、次の前提を確認してください。
【python.exe】のフルパスをコピーして、次のコマンドを実行します。
【python.exeのフルパス】_【実行したいpyモジュール(.pyファイル)】
アンダーバーは半角スペースです。
これを実行した場合にModuleNotFoundErrorが発生した、という状況でした。
前提:Pythonはインストールされているか
コマンドプロンプトを開いて下記のコマンドを実行します。
python -V
画像のように「Python 3.10.5」等のバージョンまで表示されていれば、Pythonが適切にインストールされています。
そうでない場合は、こちらのリンクなどからPythonをダウンロードしてきてインストールしましょう。
その際、”Add Python 3.x to PATH” にチェックしましょう。
チェックし忘れた場合は、同じインストーラを再度実行して一度アンインストールし、再度インストールしなおすと良いです。
対処法
読み込めなかったモジュールが自前で実装したものか、既存のライブラリなのかで対処が変わります。
自前で実装したモジュールの場合:環境変数を追加する
環境変数「PYTHONPASS」を追加します。
実行したいpyファイルのあるパスを絶対パスで追加しましょう。
自前で実装していないモジュールの場合:pipコマンドを使用する
自分で実装したものでないモジュールが読み込めなかった場合はpipコマンドでインストールしましょう。
こちらはPythonの実装についてネットで調べればすぐ見つかるかと思います。
例えば、スクレイピングをする際によく使われるBeautifulSoup4をインストールする場合は以下のコマンドをコマンドプロンプトで実行します。
pip install beautifulsoup4