Risoluzione dei problemi #

Ottenere la versione di Matplotlib #

Per scoprire il numero di versione di Matplotlib, importalo e stampa l' __version__attributo:

>>> import matplotlib
>>> matplotlib.__version__
'0.98.0'

matplotlibposizione di installazione n.

Puoi trovare in quale directory è installato Matplotlib importandolo e stampando l' __file__attributo:

>>> import matplotlib
>>> matplotlib.__file__
'/home/jdhunter/dev/lib64/python2.5/site-packages/matplotlib/__init__.pyc'

matplotlibposizioni delle directory di configurazione e cache #

Ogni utente ha una directory di configurazione Matplotlib che può contenere un file matplotlibrc. Per individuare la matplotlib/directory di configurazione, utilizzare matplotlib.get_configdir():

>>> import matplotlib as mpl
>>> mpl.get_configdir()
'/home/darren/.config/matplotlib'

Sui sistemi simili a Unix, questa directory si trova generalmente nel tuo file HOMEdirectory sotto la .config/directory.

Inoltre, gli utenti dispongono di una directory della cache. Sui sistemi simili a Unix, questa è separata dalla directory di configurazione per impostazione predefinita. Per individuare la tua .cache/directory, usa matplotlib.get_cachedir():

>>> import matplotlib as mpl
>>> mpl.get_cachedir()
'/home/darren/.cache/matplotlib'

Su Windows, sia la directory config che la directory cache sono le stesse e si trovano nella directory o per impostazione predefinita:Documents and SettingsUsers

>>> import matplotlib as mpl
>>> mpl.get_configdir()
'C:\\Documents and Settings\\jdhunter\\.matplotlib'
>>> mpl.get_cachedir()
'C:\\Documents and Settings\\jdhunter\\.matplotlib'

Se desideri utilizzare una directory di configurazione diversa, puoi farlo specificando la posizione nel tuo fileMPLCONFIGDIR variabile di ambiente -- vedere Impostazione delle variabili di ambiente in Linux e macOS . Notare che MPLCONFIGDIRimposta la posizione sia della directory di configurazione che della directory della cache.

Ottenere aiuto #

Esistono numerose buone risorse per ottenere aiuto con Matplotlib. C'è una buona probabilità che la tua domanda sia già stata posta:

Se non riesci a trovare una risposta alla tua domanda tramite la ricerca, ti preghiamo di fornire le seguenti informazioni nella tua e-mail alla mailing list :

  • Il tuo sistema operativo (utenti Linux/Unix: posta l'output di ).uname -a

  • Versione Matplotlib:

    python -c "import matplotlib; print(matplotlib.__version__)"
    
  • Dove hai ottenuto Matplotlib (ad esempio, i pacchetti della tua distribuzione Linux, GitHub, PyPI o Anaconda ).

  • Qualsiasi personalizzazione del tuo matplotlibrcfile (vedi Personalizzazione di Matplotlib con fogli di stile e rcParams ).

  • Se il problema è riproducibile, prova a fornire uno script Python minimo e autonomo che dimostri il problema. Questo è il passaggio critico. Se non puoi pubblicare un pezzo di codice che possiamo eseguire e riprodurre il tuo errore, le possibilità di ottenere aiuto sono notevolmente ridotte. Molto spesso, il semplice atto di cercare di ridurre al minimo il codice al bit più piccolo che produce l'errore ti aiuterà a trovare un bug nel codice che sta causando il problema.

  • Matplotlib fornisce informazioni di debug attraverso la logginglibreria e una funzione di supporto per impostare il livello di registrazione: si può chiamare

    plt.set_loglevel("info")  # or "debug" for more info
    

    per ottenere queste informazioni di debug.

    Sono applicabili anche le funzioni standard del loggingmodulo; ad esempio, si potrebbe chiamare logging.basicConfig(level="DEBUG")anche prima di importare Matplotlib (questo è in particolare necessario per ottenere le informazioni di registrazione emesse durante l'importazione di Matplotlib), o allegare un gestore personalizzato al logger "matplotlib". Ciò può essere utile se si utilizza una configurazione di registrazione personalizzata.

Se hai compilato tu stesso Matplotlib, fornisci anche:

  • eventuali modifiche apportate a setup.pyo setupext.py.

  • l'uscita di:

    rm -rf build
    python setup.py build
    

    L'inizio dell'output di compilazione contiene molti dettagli sulla tua piattaforma che sono utili agli sviluppatori di Matplotlib per diagnosticare il tuo problema.

  • la versione del tuo compilatore, ad esempio .gcc --version

Includere queste informazioni nella tua prima e-mail alla mailing list ti farà risparmiare un sacco di tempo.

Probabilmente otterrai una risposta più rapida scrivendo alla mailing list che segnalando un bug nel bug tracker. La maggior parte degli sviluppatori controlla il bug tracker solo periodicamente. Se il tuo problema è stato determinato come un bug e non può essere risolto rapidamente, ti potrebbe essere chiesto di segnalare un bug nel tracker in modo che il problema non vada perso.

Problemi con le recenti versioni di git #

Per prima cosa assicurati di avere una build e un'installazione pulite (vedi Come rimuovere completamente Matplotlib ), ottieni l'ultimo aggiornamento git, installalo ed esegui un semplice script di test in modalità debug:

rm -rf /path/to/site-packages/matplotlib*
git clean -xdf
git pull
python -m pip install -v . > build.out
python -c "from pylab import *; set_loglevel('debug'); plot(); show()" > run.out

e posta build.oute run.outalla mailing list matplotlib-devel (per favore non postare problemi git alla lista degli utenti ).

Ovviamente, vorrai descrivere chiaramente il tuo problema, cosa ti aspetti e cosa stai ottenendo, ma spesso una build e un'installazione pulite ti aiuteranno. Vedere anche Ottenere aiuto .