PythonでNo module namedと出るとき

PythonでNo module namedと出るとき

記事
IT・テクノロジー
カテゴリ:Python

Pythonツールが「No module named」で止まったら、まず使っているPythonを確認しましょう。部品が未導入の場合も、別のPythonに入っている場合もあります。

■ エラー名をそのままインストールしない
「No module named」の後ろは、見つからなかった部品の名前です。ただし、導入するパッケージ名と同じとは限りません。たとえばPILを使う代表的なパッケージ名はPillowです。

名前だけでpip installせず、配布元の説明書を確認します。同梱された独自の部品の場合もあるので、ZIPはフォルダ構成を保って全部展開してください。

小さな自作ツールでは、同梱の.pyファイルがない状態でエラーになり、ファイルがそろった状態では同じプログラムが動くことをLinux環境で確認できました。ファイル不足なら、インストール以外で解決する場合もあります。

■ ツールと同じPythonで確認する
端末でpythonを使って起動しているなら、同じ端末で次の2行を実行します。これは確認だけで、インストールは行いません。

python -c "import sys; print(sys.executable)"
python -m pip --version

1行目はPython本体の場所、2行目はそのPythonで動くpipの場所とバージョンを表示します。普段の起動がpython3やpy -3なら、先頭のpythonを同じ指定にそろえます。

エディターやNotebookから動かす場合は、実行側で選んだPythonも確認します。説明書に仮想環境の指定があれば、その環境を使います。端末と実行側が同じとは限りません。

02_Python_環境の違い.png
図:別のPythonに部品を入れた場合のイメージ。

■ 配布元の手順で導入する
外部の部品が必要なら、配布元の手順に従います。次は一般的な手順例です。配布元を信頼でき、説明書がrequirements.txtの使用を指定している場合だけ、そのファイルがあるフォルダで実行します。

python -m pip install -r requirements.txt

先頭のpythonは実行用の指定に合わせます。この操作は通信と環境の変更を伴います。内容や入手元が不明なら進めず、配布元へ確認してください。完了後は同じ環境でツールを起動し直します。

「No module named pip」、権限エラー、externally-managed-environmentが出たら、ここで止めます。管理者実行や制限解除で押し切らず、環境に合った手順を確認しましょう。

カスタマイズやご要望がある場合は、お気軽にご相談ください。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す