Como corrigir o erro "No Module Named Matplotlib" em Python
ModuleNotFoundError: No module named 'matplotlib' é um dos erros mais comuns em Python ao trabalhar com visualização de dados. Ele simplesmente significa que o Python não consegue localizar o pacote Matplotlib no seu ambiente atual. A boa notícia?
Esse problema é fácil de resolver assim que você identifica onde está o desencontro.
Este guia, atualizado para 2025, cobre todas as causas possíveis e oferece soluções passo a passo, bem claras, para que você volte a gerar gráficos rapidamente.
Antes de entrar em detalhes, aqui vai um resumo rápido.
⚡ TL;DR — Checklist de Correção Rápida (Funciona para 80% dos casos)
- Verifique a instalação
python -m pip install matplotlib
2. Verifique qual Python você está usando
```python
import sys; print(sys.executable)
```
3. Em Jupyter Notebook (causa mais comum):
```python
%pip install matplotlib
```
Depois reinicie o kernel.
4. Garanta que não exista nenhum arquivo chamado `matplotlib.py` no seu diretório de trabalho.
Ainda não funcionou? Continue lendo — a sua resposta está abaixo.
---
# Por que esse erro acontece
Você vê `ModuleNotFoundError` quando:
* O Matplotlib não foi instalado no ambiente que você está usando.
* Você está executando o Python a partir de um interpretador diferente do esperado.
* O Jupyter está usando um kernel que não tem Matplotlib instalado.
* Sua IDE está usando um interpretador errado.
* Algum arquivo no seu projeto está “sobrescrevendo” a biblioteca real `matplotlib`.
* Variáveis de ambiente, caminhos ou ambientes virtuais estão mal configurados.
* A instalação está corrompida.
---
## 🧠 Tabela de Referência Rápida: Causas & Soluções
| **Causa** | **Resumo da solução** |
| --------------------------------- | -------------------------------------------------------------------------------- |
| Matplotlib não instalado | Instale com `python -m pip install matplotlib` (ou `conda install matplotlib`). |
| Múltiplas versões de Python | Combine interpretador com pip: `python -m pip install ...`. |
| Hashbang incorreto | Atualize a linha `#!` ou rode explicitamente com `python3 script.py`. |
| PATH / PYTHONPATH incorretos | Garanta que `sys.path` inclua site-packages ou redefina as variáveis. |
| Instalação corrompida | `pip uninstall matplotlib` → reinstale. |
| Virtual env não ativado | Ative o venv antes de instalar/executar. |
| Interpretrador errado na IDE | Selecione o interpretador correto no VS Code / PyCharm. |
| Kernel Jupyter incorreto | Use o kernel correto ou instale Matplotlib dentro do Notebook. |
| Erro de digitação ou maiúsculas | Use `import matplotlib` (tudo minúsculo). |
| Conflito de nomes | Remova/renomeie arquivos como `matplotlib.py` no seu projeto. |
---
# Problema 1: Matplotlib não está instalado
### ✔ Por que acontece
A biblioteca simplesmente não está presente no seu ambiente.
### ✔ Correção
Instale usando pip ou conda:
```bash
python -m pip install matplotlib
# ou
pip install matplotlib
```
Para usuários conda:
```bash
conda install matplotlib
```
Verifique a instalação:
```python
import matplotlib
print(matplotlib.__version__)
```
Se o import funcionar, está resolvido.
---
# Problema 2: Você tem múltiplas versões de Python ou ambientes
Este é o **principal motivo na prática** para esse erro.
Exemplos:
* Você instalou o Matplotlib para o Python 3.11,
mas está executando o script com o Python 3.9.
* Você instalou o Matplotlib em um ambiente virtual,
mas está rodando o script no Python do sistema.
### ✔ Correção: Garanta que o pip instala no mesmo Python que você executa
Verifique seu interpretador Python:
```bash
python -V
python3 -V
```
Verifique o alvo do pip:
```bash
pip --version
```
Forma recomendada de instalação (mais confiável):
```bash
python -m pip install matplotlib
```
Usuários Windows:
```bash
py -3.11 -m pip install matplotlib
```
Isso garante que o pip instala no interpretador certo.
---
# Problema 3: Hashbang incorreto no script (Linux/Mac)
Se seu script começa com:
```bash
#!/usr/bin/python
```
…ele pode, sem querer, rodar Python 2 ou um Python do sistema.
### ✔ Correção
Use o shebang correto:
```bash
#!/usr/bin/env python3
```
Ou simplesmente execute o script explicitamente:
```bash
python3 plot.py
```
---
# Problema 4: Python pesquisando no caminho errado (sys.path / variáveis de ambiente)
Causas comuns:
* `PYTHONPATH` mal configurado
* Variáveis de ambiente quebradas
* Local de `site-packages` personalizado
### ✔ Correção
Veja onde o Python está procurando:
```python
import sys
print(sys.path)
```
Encontre onde o Matplotlib foi instalado:
```bash
pip show matplotlib
```
Se ele não estiver no caminho de busca do Python, corrija:
* Removendo `PYTHONPATH` incorreto
* Reinstalando o Matplotlib normalmente
* Evitando “gambiarras” de path manuais, a menos que realmente precise
Diagnóstico temporário (não recomendado a longo prazo):
```python
import sys
sys.path.append("/path/to/matplotlib")
```
---
# Problema 5: Instalação corrompida ou incompleta
Se a instalação foi interrompida ou dependências falharam, o Matplotlib pode ter ficado parcialmente instalado.
### ✔ Correção: Reinstalação limpa
```bash
pip uninstall matplotlib
pip install matplotlib --no-cache-dir
```
Verifique as dependências:
```bash
pip check
```
---
# Problema 6: Ambiente virtual não ativado
Você pode ter instalado o Matplotlib em um venv…
… mas está rodando o Python fora desse venv.
### ✔ Correção: Ative o venv primeiro
**Windows**
```bash
.\venv\Scripts\activate
```
**macOS/Linux**
```bash
source venv/bin/activate
```
Depois instale:
```bash
pip install matplotlib
```
Garanta que o Python aponte para o venv:
```python
import sys; print(sys.executable)
```
---
# Problema 7: IDE usando o interpretador errado (VS Code / PyCharm)
### ✔ Correção no VS Code
Clique no interpretador no canto inferior direito → selecione o ambiente correto
(ou rode):
```
Ctrl + Shift + P → “Python: Select Interpreter”
```
### ✔ Correção no PyCharm
Preferences → Project → Python Interpreter → selecione o ambiente correto.
Se a IDE usa um Python errado, o Matplotlib parece “não instalado” mesmo já estando presente.
---
# Problema 8: Kernel do Jupyter Notebook incorreto
*(Causa mais frequente em workflows de ciência de dados)*
Cenário típico:
* Você instalou o Matplotlib no terminal
* O Jupyter Notebook está usando um Python completamente diferente
### ✔ Correção 1: Verifique o Python do notebook
```python
import sys; print(sys.executable)
```
### ✔ Correção 2: Instale o Matplotlib *dentro* desse kernel
```python
%pip install matplotlib
```
Reinicie o kernel → faça o import novamente.
### ✔ Correção 3: Registre o ambiente como um kernel do Jupyter
```bash
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
```
---
# Problema 9: Erro de digitação ou sensibilidade a maiúsculas no import
Correto:
```python
import matplotlib
import matplotlib.pyplot as plt
```
Incorreto:
❌ `import Matplotlib`
❌ `import matplotllib`
---
# Problema 10: Conflito de nomes (shadowing)
Se o seu projeto contém arquivos como:
* `matplotlib.py`
* Pasta chamada `matplotlib/`
o Python vai importar o seu arquivo **em vez da biblioteca real**.
### ✔ Correção
Renomeie seu arquivo/pasta:
```
my_plot_test.py
```
Apague caches gerados automaticamente:
```
__pycache__/
```
---
# Tabela-resumo (Atualizada e concisa)
| **Causa** | **Solução** |
| --------------------- | ----------------------------------------- |
| Não instalado | Instale via pip/conda |
| Interpretador errado | Use `python -m pip install` |
| Hashbang incorreto | Use `#!/usr/bin/env python3` |
| Caminho errado | Verifique `sys.path`, redefina variáveis |
| Instalação corrompida | Reinstale com `--no-cache-dir` |
| venv não ativado | Ative o ambiente antes de executar |
| IDE incorreta | Selecione o interpretador correto |
| Jupyter incorreto | Instale com `%pip`, use o kernel correto |
| Erro de digitação | Use `matplotlib` em minúsculas |
| Conflito de nome | Renomeie arquivos locais |
---
# 🔥 Alternativa: Uma forma sem setup de visualizar dados — PyGWalker
Se você está cansado de depurar ambientes Python e quer uma forma mais rápida de visualizar dados, experimente o **PyGWalker** — uma ferramenta open-source de análise visual drag-and-drop que funciona direto no Jupyter.
```bash
pip install pygwalker
```
```python
import pygwalker as pyg
gwalker = pyg.walk(df)
```
Experimente online:
| 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. Instalei o Matplotlib mas ainda recebo o erro — por quê?
Você provavelmente está usando um interpretador Python diferente daquele em que o Matplotlib foi instalado.
### 2. Por que o erro continua mesmo depois de reinstalar?
Sua instalação pode estar corrompida ou o Python está procurando no caminho errado. Tente reinstalar com:
```bash
pip install matplotlib --no-cache-dir
```
### 3. Posso instalar o Matplotlib em um diretório personalizado?
Sim — mas o Python precisa ter esse diretório no `sys.path`.
Usar os métodos de instalação padrão é muito mais simples e confiável.
---
<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`).",
}
]
}}
/>