Dépannage #

Obtention de la version de Matplotlib #

Pour connaître votre numéro de version Matplotlib, importez-le et imprimez l' __version__attribut :

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

matplotlibemplacement d'installation #

Vous pouvez trouver dans quel répertoire Matplotlib est installé en l'important et en imprimant l' __file__attribut :

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

matplotlibemplacements des répertoires de configuration et de cache #

Chaque utilisateur dispose d'un répertoire de configuration Matplotlib qui peut contenir un fichier matplotlibrc . Pour localiser votre matplotlib/répertoire de configuration, utilisez matplotlib.get_configdir():

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

Sur les systèmes de type Unix, ce répertoire se trouve généralement dans votre HOMErépertoire sous le .config/répertoire.

De plus, les utilisateurs disposent d'un répertoire de cache. Sur les systèmes de type Unix, il est séparé du répertoire de configuration par défaut. Pour localiser votre .cache/répertoire, utilisez matplotlib.get_cachedir():

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

Sous Windows, le répertoire de configuration et le répertoire de cache sont identiques et se trouvent par défaut dans votre répertoire ou :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'

Si vous souhaitez utiliser un répertoire de configuration différent, vous pouvez le faire en spécifiant l'emplacement dans votreMPLCONFIGDIR variable d'environnement - voir Définition des variables d'environnement sous Linux et macOS . Notez que MPLCONFIGDIRdéfinit l'emplacement du répertoire de configuration et du répertoire de cache.

Obtenir de l'aide #

Il existe un certain nombre de bonnes ressources pour obtenir de l'aide avec Matplotlib. Il y a de fortes chances que votre question ait déjà été posée :

Si vous ne trouvez pas de réponse à votre question via la recherche, veuillez fournir les informations suivantes dans votre e-mail à la liste de diffusion :

  • Votre système d'exploitation (utilisateurs Linux/Unix : publiez la sortie de ).uname -a

  • Version Matplotlib :

    python -c "import matplotlib; print(matplotlib.__version__)"
    
  • Où vous avez obtenu Matplotlib (par exemple, les packages de votre distribution Linux, GitHub, PyPI ou Anaconda ).

  • Toutes les personnalisations de votre matplotlibrcfichier (voir Personnalisation de Matplotlib avec des feuilles de style et rcParams ).

  • Si le problème est reproductible, essayez de fournir un script Python minimal et autonome qui illustre le problème. C'est l' étape critique. Si vous ne pouvez pas publier un morceau de code que nous pouvons exécuter et reproduire votre erreur, les chances d'obtenir de l'aide sont considérablement réduites. Très souvent, le simple fait d'essayer de minimiser votre code au plus petit bit qui produit l'erreur vous aidera à trouver un bogue dans votre code qui cause le problème.

  • Matplotlib fournit des informations de débogage via la loggingbibliothèque et une fonction d'assistance pour définir le niveau de journalisation : on peut appeler

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

    pour obtenir ces informations de débogage.

    Les fonctions standard du loggingmodule sont également applicables ; par exemple, on pourrait appeler logging.basicConfig(level="DEBUG")avant même d'importer Matplotlib (ceci est notamment nécessaire pour obtenir les informations de journalisation émises lors de l'importation de Matplotlib), ou attacher un gestionnaire personnalisé au logger "matplotlib". Cela peut être utile si vous utilisez une configuration de journalisation personnalisée.

Si vous avez compilé Matplotlib vous-même, veuillez également fournir :

  • toute modification que vous avez apportée à setup.pyou setupext.py.

  • la sortie de :

    rm -rf build
    python setup.py build
    

    Le début de la sortie de construction contient de nombreux détails sur votre plate-forme qui sont utiles aux développeurs Matplotlib pour diagnostiquer votre problème.

  • votre version de compilateur -- par exemple, .gcc --version

Inclure ces informations dans votre premier e-mail à la liste de diffusion vous fera gagner beaucoup de temps.

Vous obtiendrez probablement une réponse plus rapide en écrivant à la liste de diffusion qu'en signalant un bogue dans le gestionnaire de bogues. La plupart des développeurs ne vérifient le suivi des bogues que périodiquement. Si votre problème a été déterminé comme étant un bogue et ne peut pas être résolu rapidement, il peut vous être demandé de signaler un bogue dans le tracker afin que le problème ne soit pas perdu.

Problèmes avec les versions récentes de git #

Assurez-vous d'abord que vous disposez d'une version et d'une installation propres (voir Comment supprimer complètement Matplotlib ), obtenez la dernière mise à jour de git, installez-la et exécutez un simple script de test en mode débogage :

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

et postez build.outet run.outsur la liste de diffusion matplotlib-devel (veuillez ne pas poster les problèmes de git sur la liste des utilisateurs ).

Bien sûr, vous voudrez décrire clairement votre problème, ce que vous attendez et ce que vous obtenez, mais souvent une construction et une installation propres vous aideront. Voir aussi Obtenir de l'aide .