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'
matplotlib
local 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'
matplotlib
localizaçã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
HOME
diretó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 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 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
MPLCONFIGDIR
define 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:
Perguntas do Stackoverflow marcadas com matplotlib .
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
matplotlibrc
arquivo (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
logging
biblioteca e uma função auxiliar para definir o nível de registro: pode-se chamarplt.set_loglevel("info") # or "debug" for more info
para obter essas informações de depuração.
As funções padrão do
logging
módulo também são aplicáveis; por exemplo, pode-se chamarlogging.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.py
ousetupext.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.out
e run.out
na 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 .