Skip to content

Cómo solucionar el error "No Module Named Matplotlib" en Python

ModuleNotFoundError: No module named 'matplotlib' es uno de los errores de Python más comunes al trabajar con visualización de datos. Simplemente significa que Python no puede encontrar el paquete Matplotlib en tu entorno actual. La buena noticia:
Este problema es fácil de resolver una vez que identificas dónde está el desajuste.

Esta guía actualizada para 2025 cubre todas las posibles causas y te da soluciones claras, paso a paso para que vuelvas a graficar rápidamente.

Antes de entrar en detalles, aquí tienes un resumen rápido.


⚡ TL;DR — Lista rápida de soluciones (funciona para el 80% de los casos)

  1. Verifica la instalación
    python -m pip install matplotlib

2. Comprueba qué Python estás usando

   ```python
   import sys; print(sys.executable)
   ```

3. En Jupyter Notebook (causa más habitual):

   ```python
   %pip install matplotlib
   ```

   Luego reinicia el kernel.

4. Asegúrate de no tener un archivo llamado `matplotlib.py` en tu directorio de trabajo.

¿Sigue sin funcionar? Continúa leyendo: tu respuesta está más abajo.

---

# Por qué ocurre este error

Ves un `ModuleNotFoundError` cuando:

* Matplotlib no está instalado en el entorno que estás utilizando.
* Estás ejecutando Python desde un intérprete distinto al que crees.
* Jupyter está usando un kernel que no tiene Matplotlib instalado.
* Tu IDE está usando un intérprete incorrecto.
* Algún archivo de tu proyecto está “sombreando” la librería real `matplotlib`.
* Las variables de entorno, rutas o entornos virtuales están mal configurados.
* La instalación está corrupta.

---

## 🧠 Tabla de referencia rápida: Causas y soluciones

| **Causa**                         | **Resumen de la solución**                                                      |
| --------------------------------- | ------------------------------------------------------------------------------- |
| Matplotlib no está instalado      | Instalar con `python -m pip install matplotlib` (o `conda install matplotlib`). |
| Varias versiones de Python        | Hacer coincidir intérprete con pip: `python -m pip install ...`.               |
| Hashbang incorrecto               | Actualizar la línea `#!` o ejecutar con `python3 script.py`.                    |
| PATH / PYTHONPATH incorrectos     | Asegurar que `sys.path` incluye site-packages o restablecer variables.          |
| Instalación corrupta              | `pip uninstall matplotlib` → reinstalar.                                        |
| Entorno virtual no activado       | Activar venv antes de instalar/ejecutar.                                        |
| Intérprete incorrecto en el IDE   | Seleccionar el intérprete correcto en VS Code / PyCharm.                        |
| Kernel de Jupyter incorrecto      | Usar el kernel adecuado o instalar Matplotlib dentro del Notebook.              |
| Error de escritura o mayúsculas   | Usar `import matplotlib` (todo en minúsculas).                                  |
| Conflicto de nombres              | Eliminar/renombrar archivos tipo `matplotlib.py` en tu proyecto.                |

---

# Problema 1: Matplotlib no está instalado

### ✔ Por qué ocurre

La librería simplemente no está presente en tu entorno.

### ✔ Solución

Instálala con pip o conda:

```bash
python -m pip install matplotlib
# or
pip install matplotlib
```

Para usuarios de Conda:

```bash
conda install matplotlib
```

Verifica la instalación:

```python
import matplotlib
print(matplotlib.__version__)
```

Si la importación funciona, ya está solucionado.

---

# Problema 2: Tienes varias versiones de Python o varios entornos

Esta es la **causa más habitual en la práctica**.

Ejemplos:

* Instalaste Matplotlib para Python 3.11  
  pero ejecutas el script con Python 3.9.
* Instalaste Matplotlib en un entorno virtual  
  pero ejecutas tu script con el Python del sistema.

### ✔ Solución: Asegúrate de que pip instale en el mismo Python que ejecutas

Comprueba tu intérprete de Python:

```bash
python -V
python3 -V
```

Comprueba dónde apunta pip:

```bash
pip --version
```

Instalación recomendada (siempre fiable):

```bash
python -m pip install matplotlib
```

En Windows:

```bash
py -3.11 -m pip install matplotlib
```

Así te aseguras de que pip instala en el intérprete correcto.

---

# Problema 3: Hashbang incorrecto en el script (Linux/Mac)

Si tu script empieza con:

```bash
#!/usr/bin/python
```

…es posible que sin querer ejecute Python 2 o un Python del sistema.

### ✔ Solución

Usa el shebang correcto:

```bash
#!/usr/bin/env python3
```

O simplemente ejecuta el script explícitamente:

```bash
python3 plot.py
```

---

# Problema 4: Python busca en la ruta equivocada (sys.path / variables de entorno)

Causas habituales:

* `PYTHONPATH` mal configurado
* Variables de entorno rotas
* Ubicación personalizada de site-packages

### ✔ Solución

Comprueba dónde está buscando Python:

```python
import sys
print(sys.path)
```

Localiza dónde se instaló Matplotlib:

```bash
pip show matplotlib
```

Si esa ruta no está en el path de búsqueda de Python, corrige:

* Eliminando `PYTHONPATH` incorrectos
* Reinstalando Matplotlib de forma normal
* Evitando “hacks” de rutas manuales salvo que sean necesarios

Diagnóstico temporal (no recomendado a largo plazo):

```python
import sys
sys.path.append("/path/to/matplotlib")
```

---

# Problema 5: Instalación corrupta o incompleta

Si la instalación se interrumpió o fallaron dependencias, Matplotlib puede haber quedado a medias.

### ✔ Solución: Reinstalación limpia

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

Comprueba dependencias:

```bash
pip check
```

---

# Problema 6: Entorno virtual no activado

Puede que hayas instalado Matplotlib en un venv…
…pero estés ejecutando Python fuera de ese venv.

### ✔ Solución: Activa primero el venv

**Windows**

```bash
.\venv\Scripts\activate
```

**macOS/Linux**

```bash
source venv/bin/activate
```

Después instala:

```bash
pip install matplotlib
```

Asegúrate de que Python apunta al venv:

```python
import sys; print(sys.executable)
```

---

# Problema 7: El IDE usa el intérprete equivocado (VS Code / PyCharm)

### ✔ Solución en VS Code

Haz clic en el intérprete abajo a la derecha → elige el entorno correcto  
(o ejecuta):

```
Ctrl + Shift + P → “Python: Select Interpreter”
```

### ✔ Solución en PyCharm

Preferences → Project → Python Interpreter → selecciona el entorno correcto.

Si el IDE usa un Python distinto, parecerá que Matplotlib “no está instalado” aunque sí lo esté.

---

# Problema 8: Desajuste de kernel en Jupyter Notebook

*(Causa muy frecuente en flujos de trabajo de ciencia de datos)*

Escenario típico:

* Instalaste Matplotlib desde la terminal
* El notebook de Jupyter usa un Python completamente diferente

### ✔ Solución 1: Comprueba el Python del notebook

```python
import sys; print(sys.executable)
```

### ✔ Solución 2: Instala Matplotlib *dentro* de ese kernel

```python
%pip install matplotlib
```

Reinicia el kernel → vuelve a importar.

### ✔ Solución 3: Registra el entorno como kernel de Jupyter

```bash
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
```

---

# Problema 9: Error de escritura o mayúsculas en el import

Correcto:

```python
import matplotlib
import matplotlib.pyplot as plt
```

Incorrecto:

❌ `import Matplotlib`  
❌ `import matplotllib`

---

# Problema 10: Conflictos de nombres (shadowing)

Si tu proyecto contiene archivos como:

* `matplotlib.py`
* Carpeta llamada `matplotlib/`

Python importará tu archivo **en lugar de la librería real**.

### ✔ Solución

Renombra tu archivo/carpeta:

```
my_plot_test.py
```

Elimina la caché autogenerada:

```
__pycache__/
```

---

# Tabla resumen (actualizada y concisa)

| **Causa**          | **Solución**                              |
| ------------------ | ------------------------------------------ |
| No está instalado  | Instalar con pip/conda                    |
| Intérprete erróneo | Usar `python -m pip install`              |
| Hashbang erróneo   | Usar `#!/usr/bin/env python3`             |
| Ruta incorrecta    | Revisar `sys.path`, restablecer variables |
| Instalación corrupta | Reinstalar con `--no-cache-dir`        |
| venv no activado   | Activar el entorno antes de ejecutar      |
| IDE desajustado    | Elegir el intérprete correcto             |
| Jupyter desajustado| Instalar con `%pip`, usar kernel correcto |
| Error de escritura | Usar `matplotlib` en minúsculas           |
| Conflicto de nombre| Renombrar archivos locales                |

---

# 🔥 Alternativa: una forma sin configuración de visualizar datos — PyGWalker

Si estás cansado de depurar entornos de Python y quieres una forma más rápida de visualizar datos, prueba **PyGWalker**: una herramienta open-source de analítica visual drag-and-drop que funciona directamente en Jupyter.

```bash
pip install pygwalker
```

```python
import pygwalker as pyg
gwalker = pyg.walk(df)
```

Pruébalo 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. He instalado Matplotlib pero sigo viendo el error, ¿por qué?

Lo más probable es que estés usando un intérprete de Python distinto de aquel en el que instalaste Matplotlib.

### 2. ¿Por qué el error continúa después de reinstalar?

Puede que la instalación esté corrupta o que Python esté buscando en la ruta equivocada. Prueba a reinstalar con:

```bash
pip install matplotlib --no-cache-dir
```

### 3. ¿Puedo instalar Matplotlib en un directorio personalizado?

Sí, pero Python debe tener ese directorio en su `sys.path`.  
Usar los métodos de instalación estándar es mucho más sencillo y fiable.

---

<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`).",
}
]
}}
/>