Python の「No Module Named Matplotlib」エラーの解決方法
ModuleNotFoundError: No module named 'matplotlib' は、データ可視化を行うときに非常によく発生する Python エラーです。
これは単に、現在使用している環境内で Matplotlib パッケージが見つからない、という意味です。
良いニュースとしては、
どこで食い違いが起きているか分かれば、解決はとても簡単 ということです。
この 2025 年版ガイドでは、考えられるすべての原因 をカバーし、段階的な手順付きの解決策 を示します。
これを読めば、すぐにプロット作業に戻れるはずです。
詳細に入る前に、まずは全体像を押さえておきましょう。
⚡ TL;DR — クイックチェックリスト(約 8 割の人はこれで解決)
- インストールを確認する
python -m pip install matplotlib
2. どの Python を使っているか確認する
```python
import sys; print(sys.executable)
```
3. Jupyter Notebook(最も多い原因)の場合:
```python
%pip install matplotlib
```
その後、カーネルを再起動。
4. 作業ディレクトリ内に `matplotlib.py` という名前のファイルがないか確認。
それでもダメな場合は、この先を読み進めてください ― 解決策が必ず見つかります。
---
# このエラーが発生する理由
`ModuleNotFoundError` が表示されるのは、次のような場合です。
* 使用している環境に Matplotlib がインストールされていない
* 予想していたものとは別の Python インタプリタで実行している
* Jupyter が Matplotlib をインストールしていないカーネルを使っている
* IDE が誤ったインタプリタを使用している
* プロジェクト内のファイルが本来の `matplotlib` ライブラリを「隠して」しまっている
* 環境変数、パス、仮想環境の設定が間違っている
* Matplotlib のインストールが壊れている / 不完全である
---
## 🧠 クイックリファレンステーブル:原因 & 解決法
| **原因** | **解決策の概要** |
| ---------------------------------- | ------------------------------------------------------------------------------ |
| Matplotlib が未インストール | `python -m pip install matplotlib`(または `conda install matplotlib`)。 |
| 複数の Python バージョンが存在 | `python -m pip install ...` で pip とインタプリタを一致させる。 |
| ハッシュバンが誤っている | `#!` 行を修正、または `python3 script.py` で明示的に実行。 |
| PATH / PYTHONPATH が誤っている | `sys.path` に site-packages が含まれるようにするか、環境変数をリセット。 |
| インストールが壊れている | `pip uninstall matplotlib` → 再インストール。 |
| 仮想環境が有効化されていない | 実行前に venv を有効化。 |
| IDE のインタプリタが間違っている | VS Code / PyCharm で正しいインタプリタを選択。 |
| Jupyter カーネルの食い違い | 正しいカーネルを使うか、Notebook 内で Matplotlib をインストール。 |
| タイポや大文字・小文字の誤り | `import matplotlib`(すべて小文字)を使用。 |
| 名前の衝突 | プロジェクト内の `matplotlib.py` などのファイル名を変更。 |
---
# Issue 1: Matplotlib がインストールされていない
### ✔ 発生理由
ライブラリ自体が、今使っている環境に存在しません。
### ✔ 解決方法
pip もしくは conda でインストールします:
```bash
python -m pip install matplotlib
# or
pip install matplotlib
```
Conda ユーザーの場合:
```bash
conda install matplotlib
```
インストール確認:
```python
import matplotlib
print(matplotlib.__version__)
```
インポートが成功すれば、この問題は解決です。
---
# Issue 2: 複数の Python バージョン / 環境を使っている
現場で **最も多い原因** がこれです。
例:
* Python 3.11 に Matplotlib をインストールしたが、スクリプトは Python 3.9 で実行している
* 仮想環境に Matplotlib をインストールしたが、スクリプトはシステム Python で動かしている
### ✔ 解決方法: 実行する Python と pip のインストール先を一致させる
インタプリタを確認:
```bash
python -V
python3 -V
```
pip がどこを指しているか確認:
```bash
pip --version
```
推奨される、最も確実なインストール方法:
```bash
python -m pip install matplotlib
```
Windows ユーザーの場合:
```bash
py -3.11 -m pip install matplotlib
```
こうすることで、pip が必ず意図したインタプリタに対してインストールします。
---
# Issue 3: スクリプトのハッシュバンが誤っている(Linux/Mac)
スクリプトの先頭が次のようになっている場合:
```bash
#!/usr/bin/python
```
…システムの Python 2 や、意図しない Python が実行されることがあります。
### ✔ 解決方法
正しい shebang を使います:
```bash
#!/usr/bin/env python3
```
あるいは、明示的に次のように実行します:
```bash
python3 plot.py
```
---
# Issue 4: Python が誤ったパスを検索している(sys.path / 環境変数)
よくある原因:
* `PYTHONPATH` の設定ミス
* 環境変数の破損
* site-packages をカスタムディレクトリにしている
### ✔ 解決方法
Python がどこを検索しているか確認:
```python
import sys
print(sys.path)
```
Matplotlib がどこにインストールされているか確認:
```bash
pip show matplotlib
```
もしその場所が Python の検索パスに含まれていなければ、次のように対処します。
* 誤った `PYTHONPATH` を削除する
* Matplotlib を通常の方法で再インストールする
* 必要がない限り、パスを手動でいじることは避ける
一時的な診断用(長期利用は推奨しない):
```python
import sys
sys.path.append("/path/to/matplotlib")
```
---
# Issue 5: インストールが壊れている / 一部だけインストールされた
インストール途中で中断されたり、依存関係エラーがあった場合、Matplotlib が中途半端な状態になっていることがあります。
### ✔ 解決方法: クリーンインストール
```bash
pip uninstall matplotlib
pip install matplotlib --no-cache-dir
```
依存関係のチェック:
```bash
pip check
```
---
# Issue 6: 仮想環境を有効化していない
仮想環境に Matplotlib をインストールしたのに、
…Python を仮想環境の外から実行しているケースです。
### ✔ 解決方法: まず venv を有効化する
**Windows**
```bash
.\venv\Scripts\activate
```
**macOS/Linux**
```bash
source venv/bin/activate
```
そのうえでインストールします:
```bash
pip install matplotlib
```
Python が venv を指しているか確認:
```python
import sys; print(sys.executable)
```
---
# Issue 7: IDE が誤ったインタプリタを使用している(VS Code / PyCharm)
### ✔ VS Code の場合
右下のインタプリタ名をクリック → 正しい環境を選択
(もしくは以下を実行):
```
Ctrl + Shift + P → “Python: Select Interpreter”
```
### ✔ PyCharm の場合
Preferences → Project → Python Interpreter → 正しい環境を選択。
IDE が誤った Python を使っていると、たとえ Matplotlib を入れていても「見つからない」ように見えます。
---
# Issue 8: Jupyter Notebook のカーネル不一致
(データサイエンスのワークフローで **最頻出** の原因)
よくあるシナリオ:
* ターミナルで Matplotlib をインストールした
* しかし Jupyter Notebook は別の Python を使っている
### ✔ 解決方法 1: Notebook 側の Python を確認
```python
import sys; print(sys.executable)
```
### ✔ 解決方法 2: そのカーネル「内」で Matplotlib をインストール
```python
%pip install matplotlib
```
カーネルを再起動 → 再度 import を試す。
### ✔ 解決方法 3: 使用している環境を Jupyter のカーネルとして登録
```bash
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
```
---
# Issue 9: インポートのタイプミスや大文字・小文字の違い
正しい書き方:
```python
import matplotlib
import matplotlib.pyplot as plt
```
誤った例:
❌ `import Matplotlib`
❌ `import matplotllib`
---
# Issue 10: 名前の衝突(シャドーイング)
プロジェクト内に次のようなファイル / フォルダがあると:
* `matplotlib.py`
* `matplotlib/` という名前のフォルダ
Python は本物のライブラリではなく、**あなたのファイルをインポートしてしまいます**。
### ✔ 解決方法
ファイル / フォルダ名を変更します:
```
my_plot_test.py
```
自動生成されたキャッシュを削除:
```
__pycache__/
```
---
# まとめテーブル(最新版 & コンパクト)
| **原因** | **解決策** |
| ----------------- | ------------------------------------------ |
| 未インストール | pip / conda でインストール |
| インタプリタ違い | `python -m pip install` を利用 |
| ハッシュバン違い | `#!/usr/bin/env python3` を使用 |
| パスの問題 | `sys.path` を確認し、環境変数を見直す |
| インストール破損 | `--no-cache-dir` 付きで再インストール |
| venv 未有効化 | 実行前に仮想環境を有効化 |
| IDE 不一致 | 正しいインタプリタを選択 |
| Jupyter 不一致 | `%pip` でインストールし、適切なカーネルを使用 |
| タイポ | 小文字の `matplotlib` に修正 |
| 名前の衝突 | ローカルファイル名を変更 |
---
# 🔥 代替案: 環境構築なしでデータ可視化 ― PyGWalker
Python 環境まわりのトラブルに時間を取られたくない、
もっと手早くデータを可視化したい場合は、
Jupyter 上で動くオープンソースのドラッグ&ドロップ型ビジュアル分析ツール **PyGWalker** を試してみてください。
```bash
pip install pygwalker
```
```python
import pygwalker as pyg
gwalker = pyg.walk(df)
```
オンラインで試す:
| Kaggle | Google Colab | GitHub |
| -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [https://www.kaggle.com/asmdef/pygwalker-test](https://www.kaggle.com/asmdef/pygwalker-test) | [https://colab.research.google.com/](https://colab.research.google.com/)... | [https://github.com/Kanaries/pygwalker](https://github.com/Kanaries/pygwalker) |
---
# FAQ
### 1. Matplotlib をインストールしたのに、まだエラーが出ます。なぜですか?
Matplotlib をインストールした Python とは **別のインタプリタ** でコードを実行している可能性が高いです。
### 2. 再インストールしてもエラーが続きます。どうしてですか?
インストールが壊れているか、Python が誤ったパスを参照している可能性があります。
次のように再インストールを試してください。
```bash
pip install matplotlib --no-cache-dir
```
### 3. Matplotlib をカスタムディレクトリにインストールできますか?
可能です。ただし、そのディレクトリが `sys.path` に含まれている必要があります。
標準的なインストール方法を使う方が、一般的には簡単で確実です。
---
<JSONldScript
faq={{
data: [
{
question: "Why do I encounter the 'No Module Named Matplotlib' error even after installation?",
answer: "You are likely running Python from a different interpreter than the one where Matplotlib is installed.",
},
{
question: "Why does the error persist even after correcting the Python version?",
answer: "You may have a corrupted installation or Python is checking the wrong path. Try reinstalling or fixing paths.",
},
{
question: "Can I install Matplotlib in a custom directory?",
answer: "Yes, but Python must include that directory in its search paths (`sys.path`).",
}
]
}}
/>