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を一致させる
- あなたが使っているPythonの場所を確認:
import sys
print(sys.executable)
または端末上で:
python --version
which python
- pipも正しいPython用のものを使う:
pip --version
これに表示されたPythonバージョンと、sys.executable
の出力が一致していることを確認してください。
- インストールコマンドをPythonと合わせて実行:
python3.10 -m pip install matplotlib
これにより、確実に「Python 3.10」用のパッケージとしてインストールされます。
- 仮想環境を使用している場合は、その環境を有効化してからインストール・実行を行う
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】があります。
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) |
---|---|---|
![]() | ![]() | ![]() |
PyGWalkerはオープンソースの皆さんの支援のもと開発・改善されています。ぜひGitHub (opens in a new tab)もご覧ください。
よくある質問(FAQ)
-
インストール後に「No Module Named Matplotlib」が出続けるのはなぜですか?
インストールしたPythonバージョンと、実行に使っているバージョンが異なる可能性があります。バージョンを確認し、一致させましょう。 -
正しいバージョンをインストールしたのにエラーが続くのはなぜですか?
破損または不完全なインストール、あるいは環境の不一致が原因です。再インストールやパスの追加を試みてください。 -
特定のディレクトリにインストールしたら解決しますか?
Pythonは標準の場所や設定されたPYTHONPATH
からパッケージを探します。パスを正しく設定すれば解決します。