If you are spanish speaker here is an explanation:
¿Por qué ocurre el error?
Ocurre porque:
matplotlib
por defecto usa un backend gráfico interactivo (como TkAgg
) que depende de Tkinter.
Tkinter solo puede usarse desde el hilo principal (main thread).
Cuando usas threading.Thread(...)
para procesar el audio, matplotlib se intenta ejecutar en un hilo secundario, y ahí revienta.
solución:
import matplotlib
matplotlib.use('Agg') # <- Usa backend no-interactivo (solo para guardar imágenes)
from matplotlib import pyplot as plt
Esto cambia el backend a Agg
, que es:
📸 Un backend no gráfico, ideal para guardar imágenes a disco.
❌ No abre ventanas.
✅ 100% seguro para usar en hilos y servidores web.
Posted by FreddicMatters (427) at 2025-05-02T21:46:29Z
Caught for
Contains ?