Skip to content

Python の「No Module Named Matplotlib」エラーの解決方法

ModuleNotFoundError: No module named 'matplotlib' は、データ可視化を行うときに非常によく発生する Python エラーです。
これは単に、現在使用している環境内で Matplotlib パッケージが見つからない、という意味です。
良いニュースとしては、
どこで食い違いが起きているか分かれば、解決はとても簡単 ということです。

この 2025 年版ガイドでは、考えられるすべての原因 をカバーし、段階的な手順付きの解決策 を示します。
これを読めば、すぐにプロット作業に戻れるはずです。

詳細に入る前に、まずは全体像を押さえておきましょう。


⚡ TL;DR — クイックチェックリスト(約 8 割の人はこれで解決)

  1. インストールを確認する
    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`).",
}
]
}}
/>