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'
matplotlib
posizione 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'
matplotlib
posizioni 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
HOME
directory 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 Settings
Users
>>> 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
MPLCONFIGDIR
imposta 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:
Domande di StackOverflow contrassegnate con matplotlib .
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
matplotlibrc
file (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
logging
libreria e una funzione di supporto per impostare il livello di registrazione: si può chiamareplt.set_loglevel("info") # or "debug" for more info
per ottenere queste informazioni di debug.
Sono applicabili anche le funzioni standard del
logging
modulo; ad esempio, si potrebbe chiamarelogging.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.py
osetupext.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.out
e run.out
alla 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 .