Solución de problemas #

Obteniendo la versión de Matplotlib #

Para averiguar su número de versión de Matplotlib, impórtelo e imprima el __version__atributo:

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

matplotlibubicación de instalación #

Puede encontrar en qué directorio está instalado Matplotlib importándolo e imprimiendo el __file__atributo:

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

matplotlibubicaciones de directorio de configuración y caché #

Cada usuario tiene un directorio de configuración de Matplotlib que puede contener un archivo matplotlibrc . Para ubicar su matplotlib/directorio de configuración, use matplotlib.get_configdir():

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

En sistemas similares a Unix, este directorio generalmente se encuentra en su HOMEdirectorio bajo el .config/directorio.

Además, los usuarios tienen un directorio de caché. En sistemas similares a Unix, está separado del directorio de configuración de forma predeterminada. Para localizar su .cache/directorio, utilice matplotlib.get_cachedir():

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

En Windows, tanto el directorio de configuración como el directorio de caché son los mismos y están en su directorio o de forma predeterminada: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 desea utilizar un directorio de configuración diferente, puede hacerlo especificando la ubicación en suMPLCONFIGDIR variable de entorno: consulte Configuración de variables de entorno en Linux y macOS . Tenga en cuenta que MPLCONFIGDIRestablece la ubicación tanto del directorio de configuración como del directorio de caché.

Obtener ayuda #

Hay una serie de buenos recursos para obtener ayuda con Matplotlib. Es muy probable que su pregunta ya haya sido formulada:

Si no puede encontrar una respuesta a su pregunta a través de la búsqueda, proporcione la siguiente información en su correo electrónico a la lista de correo :

  • Su sistema operativo (usuarios de Linux/Unix: publique el resultado de ).uname -a

  • Versión de matplotlib:

    python -c "import matplotlib; print(matplotlib.__version__)"
    
  • Donde obtuvo Matplotlib (por ejemplo, los paquetes de su distribución de Linux, GitHub, PyPI o Anaconda ).

  • Cualquier personalización de su matplotlibrcarchivo (consulte Personalización de Matplotlib con hojas de estilo y rcParams ).

  • Si el problema es reproducible, intente proporcionar una secuencia de comandos de Python mínima e independiente que demuestre el problema. Este es el paso crítico. Si no puede publicar un fragmento de código que podamos ejecutar y reproducir su error, las posibilidades de obtener ayuda se reducen significativamente. Muy a menudo, el mero hecho de tratar de minimizar su código al mínimo que produce el error le ayudará a encontrar un error en su código que está causando el problema.

  • Matplotlib proporciona información de depuración a través de la loggingbiblioteca y una función auxiliar para establecer el nivel de registro: uno puede llamar

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

    para obtener esta información de depuración.

    Las funciones estándar del loggingmódulo también son aplicables; por ejemplo, uno podría llamar logging.basicConfig(level="DEBUG")incluso antes de importar Matplotlib (esto es particularmente necesario para obtener la información de registro emitida durante la importación de Matplotlib), o adjuntar un controlador personalizado al registrador "matplotlib". Esto puede resultar útil si utiliza una configuración de registro personalizada.

Si compiló Matplotlib usted mismo, proporcione también:

  • cualquier cambio que haya realizado en setup.pyo setupext.py.

  • la salida de:

    rm -rf build
    python setup.py build
    

    El comienzo de la salida de la compilación contiene muchos detalles sobre su plataforma que son útiles para que los desarrolladores de Matplotlib diagnostiquen su problema.

  • su versión del compilador, por ejemplo, .gcc --version

Incluir esta información en su primer correo electrónico a la lista de correo le ahorrará mucho tiempo.

Es probable que obtenga una respuesta más rápida escribiendo en la lista de correo que presentando un error en el rastreador de errores. La mayoría de los desarrolladores revisan el rastreador de errores solo periódicamente. Si se ha determinado que su problema es un error y no se puede resolver rápidamente, es posible que se le solicite que registre un error en el rastreador para que el problema no se pierda.

Problemas con versiones recientes de git #

Primero, asegúrese de tener una compilación e instalación limpias (consulte Cómo eliminar Matplotlib por completo ), obtenga la última actualización de git, instálela y ejecute un script de prueba simple en modo de depuración:

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

y publique build.outy run.outen la lista de correo de matplotlib-devel (no publique problemas de git en la lista de usuarios ).

Por supuesto, querrá describir claramente su problema, lo que espera y lo que obtiene, pero a menudo una compilación e instalación limpias ayudarán. Consulte también Obtención de ayuda .