Solução de problemas #

Obtendo a versão do Matplotlib #

Para descobrir o número da sua versão do Matplotlib, importe-o e imprima o __version__atributo:

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

matplotliblocal de instalação #

Você pode encontrar em qual diretório o Matplotlib está instalado importando-o e imprimindo o __file__atributo:

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

matplotliblocalização do diretório de cache e configuração #

Cada usuário tem um diretório de configuração Matplotlib que pode conter um arquivo matplotlibrc . Para localizar seu matplotlib/diretório de configuração, use matplotlib.get_configdir():

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

Em sistemas do tipo Unix, esse diretório geralmente está localizado em seu HOMEdiretório sob o .config/diretório.

Além disso, os usuários têm um diretório de cache. Em sistemas do tipo Unix, isso é separado do diretório de configuração por padrão. Para localizar seu .cache/diretório, use matplotlib.get_cachedir():

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

No Windows, tanto o diretório de configuração quanto o diretório de cache são os mesmos e estão no seu diretório ou por padrão: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 você quiser usar um diretório de configuração diferente, pode fazê-lo especificando o local em seuMPLCONFIGDIR variável de ambiente — consulte Definindo variáveis ​​de ambiente no Linux e macOS . Observe que MPLCONFIGDIRdefine a localização do diretório de configuração e do diretório de cache.

Obtendo ajuda #

Existem vários bons recursos para obter ajuda com o Matplotlib. Há uma boa chance de sua pergunta já ter sido feita:

Se você não conseguir encontrar uma resposta para sua pergunta por meio da pesquisa, forneça as seguintes informações em seu e-mail para a lista de discussão :

  • Seu sistema operacional (usuários Linux/Unix: poste a saída de ).uname -a

  • Versão do Matplotlib:

    python -c "import matplotlib; print(matplotlib.__version__)"
    
  • Onde você obteve o Matplotlib (por exemplo, os pacotes da sua distribuição Linux, GitHub, PyPI ou Anaconda ).

  • Quaisquer personalizações em seu matplotlibrcarquivo (consulte Personalizando Matplotlib com folhas de estilo e rcParams ).

  • Se o problema for reproduzível, tente fornecer um script Python independente e mínimo que demonstre o problema. Este é o passo crítico. Se você não puder postar um trecho de código que possamos executar e reproduzir seu erro, as chances de obter ajuda diminuem significativamente. Muitas vezes, o mero ato de tentar minimizar seu código ao mínimo que produz o erro o ajudará a encontrar um bug em seu código que está causando o problema.

  • Matplotlib fornece informações de depuração por meio da loggingbiblioteca e uma função auxiliar para definir o nível de registro: pode-se chamar

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

    para obter essas informações de depuração.

    As funções padrão do loggingmódulo também são aplicáveis; por exemplo, pode-se chamar logging.basicConfig(level="DEBUG")mesmo antes de importar o Matplotlib (isso é particularmente necessário para obter as informações de registro emitidas durante a importação do Matplotlib) ou anexar um manipulador personalizado ao registrador "matplotlib". Isso pode ser útil se você usar uma configuração de registro personalizada.

Se você mesmo compilou o Matplotlib, forneça também:

  • quaisquer alterações feitas em setup.pyou setupext.py.

  • a saída de:

    rm -rf build
    python setup.py build
    

    O início da saída da compilação contém muitos detalhes sobre sua plataforma que são úteis para os desenvolvedores do Matplotlib diagnosticarem seu problema.

  • sua versão do compilador - por exemplo, .gcc --version

Incluir essas informações em seu primeiro e-mail para a lista de discussão economizará muito tempo.

Você provavelmente obterá uma resposta mais rápida escrevendo para a lista de discussão do que registrando um bug no bug tracker. A maioria dos desenvolvedores verifica o rastreador de bugs apenas periodicamente. Se o seu problema foi determinado como um bug e não pode ser resolvido rapidamente, você pode ser solicitado a registrar um bug no rastreador para que o problema não seja perdido.

Problemas com versões recentes do git #

Primeiro, certifique-se de ter uma compilação e instalação limpas (consulte Como remover completamente o Matplotlib ), obtenha a atualização mais recente do git, instale-a e execute um script de teste simples no modo de depuração:

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 poste build.oute run.outna lista de discussão matplotlib-devel (por favor, não poste problemas git na lista de usuários ).

Obviamente, você desejará descrever claramente seu problema, o que espera e o que está obtendo, mas geralmente uma compilação e instalação limpas ajudarão. Consulte também Obter ajuda .