Skip to content

Pythonで「No Module Named Matplotlib」エラーを修正する方法

ModuleNotFoundError: No module named 'matplotlib' は、データビジュアライゼーションを行う際によく遭遇する一般的なエラーです。これは、Pythonが実行環境内でMatplotlibライブラリを見つけられないことを意味します(【Facing 'No Module Named Matplotlib' Error? Here is the Solution – Kanaries】も参照)。幸いなことに、このエラーは通常、簡単に解決可能です。本ガイドでは、エラーのすべての原因と、それぞれの解決策をステップバイステップで詳しく解説します。

初心者の方や環境を一から見直す方もご安心を! 本ガイドは親しみやすく丁寧な口調で書かれており、Matplotlibの導入と実行をスムーズに行えるようサポートします。さっそく見ていきましょう!

エラーの理解

ModuleNotFoundError: No module named 'matplotlib' を見たときのPythonの返答は、「現在のインタプリタの検索パスにmatplotlibパッケージが見つかりません」ということです。これはさまざまな理由で起こり得ます:

  • Matplotlibがインストールされていない: ライブラリが環境内に存在しない。
  • 複数のPythonバージョンや環境が混在: あるPython(例:Python 3.8)にインストール済みでも、実行に使っているのが別のPython(例:Python 3.10)だった場合 (解決策例:No module named matplotlibの修正方法 (opens in a new tab))
  • スクリプトの実行方法の誤り(Hashbangの問題): 直接実行されたスクリプトが異なるPythonバージョンを呼び出している。
  • Pythonのパスや環境変数の設定ミス: パッケージの場所を正しく認識できていない。
  • インストール破損: Matplotlibのインストールが壊れている、もしくは未完全。
  • 仮想環境が有効化されていない: venvやcondaの仮想環境を使用している場合、その環境をアクティブにしていない。
  • IDEやJupyterの設定ミス: IDEやJupyterで異なるインタープリタやカーネルを利用している。
  • インポート文のタイプミス・大文字・小文字の誤り: import文の記述ミス。
  • 名前の衝突: プロジェクト内にmatplotlibという名前のファイルやフォルダが存在し、ライブラリを隠蔽している。

よくある原因と解決策の一覧表

原因解決策の要約
Matplotlib未インストールpip install matplotlibまたはconda install matplotlib を実行。
Pythonの複数バージョンや環境正しいインタプリタで実行し、同じ環境にインストール。
スクリプトのHashbang設定ミスshebangを#!/usr/bin/env python3等に修正、もしくはコマンドで明示的に指定。
Pythonのパスや環境変数の問題sys.pathやPYTHONPATHを確認・修正。インストール場所を追加。
インストール破損一度アンインストールしてから、再インストール。
仮想環境未アクティブ事前に仮想環境を有効化し、その中でインストール実行。
IDEのインタプリタ設定ミスIDEの設定から正しいPython環境を選択・設定。
Jupyterのカーネルミスマッチ正しいカーネルを選択、または必要パッケージをインストール。
インポート文の綴りミス正確にimport matplotlibと記述。
名前の衝突ファイルやフォルダ名をmatplotlib.py等から変更。

これらの原因をひとつずつ丁寧に確認していけば、ほとんどの場合は解決します。次からは、原因ごとの対処法を詳しく解説していきます。

問題1: Matplotlibがインストールされていない

最もよくある原因の一つは、「Matplotlibがインストールされていない」状態です。ライブラリがなければ、Pythonは当然見つけられません。

解決策:Matplotlibをインストールしよう

まずはPythonのパッケージマネージャ「pip」またはAnacondaの「conda」を利用してインストールします。

  • pipを使う場合: ターミナルやコマンドプロンプトで次のコマンドを実行してください。
pip install matplotlib

※複数のPythonバージョンがインストールされている場合、pipのバージョンを指定しましょう。例えばPython 3.xの場合はpip3、または次のように実行します。

python3 -m pip install matplotlib

このコマンドはPyPI(Python Package Index)から最新のMatplotlibをダウンロードしてインストールします。環境内にインストールされれば、次のコードを実行してバージョンが取得できるはずです。

import matplotlib
print(matplotlib.__version__)

エラーなくバージョン番号が表示されれば成功です。もし引き続きインポートエラーが出る場合は、次の原因を疑ってください。

  • condaをお使いの場合:
conda install matplotlib

※仮想環境を有効にしてから実行してください。
インストール後、同じPython環境でスクリプトを実行すれば解決します。

問題2: 複数Python環境やバージョンの混在

もう一つの典型的なケースは、「複数のPythonバージョンや仮想環境が混在していて、インストールと実行場所がズレている」ことです。
例として、pip installはPython 3.8にしても、実行はPython 3.10の環境から行っていると、インストールは済んでいるのに見つからない状態になります。

解決策:Pythonとpipを一致させる

  1. あなたが使っているPythonの場所を確認:
import sys
print(sys.executable)

または端末上で:

python --version
which python
  1. pipも正しいPython用のものを使う:
pip --version

これに表示されたPythonバージョンと、sys.executableの出力が一致していることを確認してください。

  1. インストールコマンドをPythonと合わせて実行:
python3.10 -m pip install matplotlib

これにより、確実に「Python 3.10」用のパッケージとしてインストールされます。

  1. 仮想環境を使用している場合は、その環境を有効化してからインストール・実行を行う
source /path/to/venv/bin/activate
pip install matplotlib
python your_script.py

問題3: Shebang設定の誤り

スクリプトを直接実行する(例:./script.py)場合、最初の行に記述されるshebang行(#!)によって使われるPythonが決まります。

例:

#!/usr/bin/python

これが古いPythonや間違ったバージョンを指していると、インストール済みのMatplotlibが見つからずエラーとなることも。

解決策

  • shebangを#!/usr/bin/env python3等、正しいPythonバージョンを指すものに変更
  • コマンド実行時は
python3 script.py

で明示的にPythonを指定


問題4: PythonのPATHや環境変数の設定ミス

sys.pathに必要なディレクトリが含まれていないと、インストール済みのパッケージを見逃します。
解決策は

  • sys.pathを確認し、不足しているパスを追加
  • PYTHONPATH環境変数を設定(例:export PYTHONPATH=$PYTHONPATH:/path/to/site-packages
  • パッケージを標準の場所に再インストール

問題5: インストール破損または不完全

破損した場合は、一度アンインストールしてから再インストールしましょう。

pip uninstall matplotlib
pip install --no-cache-dir matplotlib

これで新たにクリーンな状態となります。


問題6: 仮想環境が有効化されていない

仮想環境を作成した場合は、

source /path/to/venv/bin/activate  # Linux/macOS
.\venv\Scripts\activate         # Windows

してからパッケージのインストールとスクリプトを実行しましょう。


問題7: IDEのインタプリタ設定ミス

PyCharmやVS CodeなどのIDEを使っている場合、プロジェクトの設定で正しいPython環境(仮想環境含む)に切り替える必要があります。

  • PyCharm: ファイル→設定→プロジェクト→Python Interpreter から正しい環境を設定
  • VS Code: ステータスバーや、Ctrl+Shift+P から「Python: Select Interpreter」で正しい環境を選ぶ

設定後は必ず再起動し、適用されていることを確認してください。


問題8: Jupyterノートブックのカーネルミスマッチ

Jupyterを使う場合、実行中のカーネル(Python環境)が違うと、既にインストール済みでもエラーになります。

解決策

  • カーネルを正しい環境に切り替える
  • !pip install matplotlibをセル内で実行し、その後カーネルを再起動
  • import sys; print(sys.executable) で確認し、環境のPathと一致しているか確かめる

問題9: インポート文の誤り

import matplotlibは小文字で正しく書きましょう。

例:

import matplotlib.pyplot as plt

大文字やスペルミスはエラーにつながるため、必ず正確に記述してください。


問題10: 名前の衝突

自分のスクリプト名やフォルダ名がmatplotlibと被っていると、Pythonが標準ライブラリを見つけられません。

解決策

  • スクリプトやディレクトリ名をmatplotlib.pyから別の名前に変更
  • __pycache__*.pycファイルも削除し、不要なキャッシュをクリア

まとめ

これらの原因を一つずつ確認していけば、多くの場合はエラーを解決できるでしょう。
Pythonの環境構築は少し手間がかかることもありますが、その分安定した開発ライフを送るために重要です。
早めに正しい設定を行って、快適なPython・Matplotlibの環境を整えましょう!


代替手段:PyGWalkerで手軽にデータ可視化

Matplotlibの代わりに、データビジュアルを手軽に行えるツールとして【PyGWalker】があります。

PyGWalkerによるデータ可視化 (opens in a new tab)

Pythonコードを書かずに、データをインポートし、変数をドラッグ&ドロップするだけで多彩なグラフが作成可能です。

一例の操作動画も公開中!


Jupyter Notebookでの使い方も簡単:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

カグルやGoogle Colabでも試せます!

KaggleでPyGWalkerを動かす (opens in a new tab)Google ColabでPyGWalkerを動かす (opens in a new tab)GitHubでスターをつける (opens in a new tab)
Kaggleで動かすColabで動かすスターをつける

PyGWalkerはオープンソースの皆さんの支援のもと開発・改善されています。ぜひGitHub (opens in a new tab)もご覧ください。


よくある質問(FAQ)

  1. インストール後に「No Module Named Matplotlib」が出続けるのはなぜですか?
    インストールしたPythonバージョンと、実行に使っているバージョンが異なる可能性があります。バージョンを確認し、一致させましょう。

  2. 正しいバージョンをインストールしたのにエラーが続くのはなぜですか?
    破損または不完全なインストール、あるいは環境の不一致が原因です。再インストールやパスの追加を試みてください。

  3. 特定のディレクトリにインストールしたら解決しますか?
    Pythonは標準の場所や設定されたPYTHONPATHからパッケージを探します。パスを正しく設定すれば解決します。