Pythonでコードを書いていると、モジュールのインポート時にImportErrorが発生することがあります。この記事では、そのようなエラーが発生したときの対処法をまとめています。

1. Pythonのバージョン確認

まずはPythonのバージョンを確認しましょう。ターミナルで以下のコマンドを実行します。

$ python -V

pyenvなどを使っている場合は、ちゃんと使いたいインタプリタかを確認します。

$ pyenv versions
system
* 3.6.5 (set by /home/user/.pyenv/version)
$ which python
/home/user/.pyenv/shims/python3

2. パッケージのインストール確認

次に、必要なパッケージがインストールされているか確認します。以下のコマンドでパッケージのインストール状況を確認できます。

$ pip freeze | grep numpy

ここにない場合はpip installなどでインストールしましょう。

3. パスの確認

import文を読むとpythonは既定のパスにパッケージを探しに行きます。そこにないとimportできないので確認します。

>>> import sys
>>> sys.path

パスが通っていない場合は、以下のいずれかを試してください。

  • パッケージをパスが通っている場所に置く
  • パスを追加する
  • PYTHONPATHを設定する

4. 同じ名前の別のファイルやフォルダがプロジェクト内にないか

たとえばimport osをしたい場合に、osという同じ名前のファイル (os.py)やフォルダが実行ファイルの付近にあるとそちらが優先的にimport対象となります。意外と盲点なので、名前をつけるときは被らないように気をつけましょう。

5. 循環importをしていないか

以下のような循環参照はエラーになります。

# a.py
import b

# b.py
import a

以上、PythonでImportErrorが発生したときの基本的な対処法をまとめました。これらの手順を踏むことで、エラーの原因を特定しやすくなるでしょう。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です