41
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

pythonでimport時に、ModuleNotFoundError: No module namedが出た時の対処手順

Last updated at Posted at 2021-06-30

仮想環境を使ってpythonの実行してるとしょっちゅう出てきて、その度にググるのが手間になってきたので自分用対処方法メモです。
細かい理由とかは書いてませんが、一番下に参考記事のリンクがありますのでそちらを見ていただけると理解が深まると思います。

pythonファイル実行時に出現するエラーメッセージ


# 処理を実行
> python xxxxxx.py

Traceback (most recent call last):
  File "/Users/XXXXXXXX/xxxxxx.py", line 1, in <module>
    import {モジュール名}
ModuleNotFoundError: No module named '{モジュール名}'

対処方法

pipでモジュール情報を確認


> pip show {モジュール名}

# ⬇️こんな情報が出てくる

Name: {モジュール名}
Version: 0.13
Summary: {モジュール名} cryptographic signature library (pure python)
Home-page: http://github.com/xxxxxx/xxxxxx
Author: xxxxx xxxxx
Author-email: xxxxx@xxxxx.com
License: XXXXX
Location: /opt/anaconda3/envs/xxxxxxxx/lib/pythonX.X/site-packages -> このPASSをコピーする
Requires: 
Required-by: 

上記の時点で、モジュールが存在してなかった場合は普通にinstallする(importのコード書いてる時点でinstall済みが大半なのであまりないはず)


pip install {モジュール名}

sys.pathをpythonの実行ファイルの一番頭に入れる


import sys

# passの設定 (pip showで出てきた、LocationのPASSを以下に設定)
sys.path.append('/opt/anaconda3/envs/xxxxxxxx/lib/pythonX.X/site-packages')

# passの設定はimportするモジュールより前に設定
import xxxxxx

これで概ね解決。

参考記事

→上記手順について、さらに細かに説明書いてくれているので、背景理由知りたい方はこちらを読むと理解が深まると思います。

41
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?