matplotlib / matplotlib/ipympl

ipympl changes MPL backend on import

Aperta
#623 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Jupyter Notebook
Stelle
1.7k
Fork
234
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

- xref: https://github.com/mne-tools/mne-python/pull/13963#pullrequestreview-4499976618

In mne-python (see above), we have a functionality called `sys_info`, which gives us (among other things) the versions of all sorts of installed packages.

For this reason, we also import ipympl.

At import time, ipympl actually **changes** the MPL backend.

Is this something that could be avoided? This change in backend was very surprising to us and it took an in-depth profiling to identify it as the cause of a massive memory leak in a pipeline that produced several plots on each iteration, never closing them due to the backend change.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Esamina il comportamento in fase di importazione descritto nell’issue e nella revisione della pull request di mne-python collegata, concentrandoti sul punto in cui l’importazione di ipympl modifica il backend di Matplotlib. Riproduci il comportamento con la sequenza di importazione in stile sys_info e verifica che l’importazione di ipympl non modifichi più il backend e non causi il problema del ciclo di vita dei grafici segnalato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
jupyter-notebook, matplotlib, python
Ambito
backend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.