Python:モジュールのimportができない時の対処方法

  • 2020.09.04
  • (更新日:2020.09.11)
  • python
Python:モジュールのimportができない時の対処方法

Pythonでライブラリやモジュールを使う時には、import文を使いますが、
正しくモジュールのimportができないとimportエラーが発生します。

(importの使い方(from,as)はこちらの記事を確認願います。)

importエラーの原因は大きく3つあります。

  1. モジュール名の間違い(スペルミス)
  2. インストールしていないモジュールの読み込み
  3. ディレクトリパスの指定が間違っている(主に自作モジュール)

ここでは、importエラーとなる3つの原因から対処方法まで詳しく解説します。

1.モジュール名の間違い(スペルミス)

Beautiful Soup(bs4)を例にimportエラーについて解説します。
(Replを使います。Replの使い方はこちら)

スペルミスした時のエラー

>>> import bs3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'bs3'

Beautiful Soupをimportする時は、「import bs4」なのですが、
「import bs3」とスペルミスをすると最終行に

ModuleNotFoundError: No module named 'bs3'

と表示されています。
エラーは、「bs3というモジュールはねーよ!!」とpython先生が怒っているようです。
Beautiful Soupをインストールしていれば「import bs4」に修正すればオッケーです。

2.インストールしていないモジュールの読み込み

Beautiful Soupをインストールせずにimportすれば当然エラーとなります。

>>> import bs4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'bs4'

モジュールが無いので当然エラーが発生します。
先ほどのスペルミスと同じエラー内容ですね。

モジュール(パッケージ)があるかないかの確認

winであればコマンドプロンプト、Macはターミナルを起動します。
インストール済みのパッケージを確認するには、pip listを実行します。

>pip list

Package    Version
---------- -------
numpy	1.15.4
pandas	0.23.4
pip	20.0.2
setuptools 41.2.0

インストール済みのパッケージの名称とバージョン番号が一覧で表示されます。
bs4がインストールされていませんね。
ということで、同じpipコマンドでbs4をインストールしましょう。

pip install beautifulsoup4

3.ディレクトリパスの指定が間違っている

自作モジュールの場合にはカレントディレクトリにファイルにないとエラーになります。
(自作モジュールを作成されている方は、中級者以上の方かと思います。)

ただカレンとディレクトリにおかなくても、「sys.path.append」を利用してパスを通せばインポートできます。

まとめ

プログラムを学習し始めた方とってはエラーが発生すると、ビックリしますよね。
でも焦らないで落ち着いて考えれば大体のエラーは解決できます。
それでも分からない時は、googleで検索をすれば解決方法はのっていますし、のっていなくてもXXXなどで質問すれば解決します。

プログラミング習得の近道は、「コードを書きまくってエラー起こしまくって解決しまくる!」事です。
コーディング方法を本で読んで一生懸命学習する事は、悪いことではないですが、プログラムもあくまでツールですので使ってナンボです。

pythonカテゴリの最新記事