Dependencias #
Dependencias de tiempo de ejecución #
Dependencias obligatorias #
Al instalar a través de un administrador de paquetes como pip
o conda
, las dependencias obligatorias se instalan automáticamente. Esta lista es principalmente para referencia.
Dependencias opcionales #
Los siguientes paquetes y herramientas no son necesarios, pero amplían las capacidades de Matplotlib.
Backends #
Las figuras de Matplotlib se pueden representar en varias interfaces de usuario. Consulte ¿Qué es un backend? para obtener más detalles sobre los backends opcionales de Matplotlib y las capacidades que brindan.
Tk (>= 8.4, != 8.6.0 o 8.6.1): para los backends basados en Tk. Tk es parte de la mayoría de las instalaciones estándar de Python, pero no es parte de Python en sí mismo y, por lo tanto, es posible que no esté presente en casos excepcionales.
PyQt6 (>= 6.1), PySide6 , PyQt5 o PySide2 : para los backends basados en Qt.
PyGObject y pycairo (>= 1.14.0): para los backends basados en GTK. Si usa pip (pero no conda o el administrador de paquetes del sistema), PyGObject debe construirse desde la fuente; consulte la documentación de pygobject .
pycairo (>= 1.14.0) o cairocffi (>= 0.8): para backends basados en cairo.
wxPython (>= 4): para los backends basados en wx. Si usa pip (pero no conda o el administrador de paquetes del sistema) en Linux, las ruedas wxPython deben descargarse manualmente desde https://wxpython.org/pages/downloads/ .
Tornado (>= 5): para el backend de WebAgg.
ipykernel : para el backend de nbagg.
macOS (>= 10.12): para el backend de macosx.
Animaciones #
ffmpeg : para guardar películas.
ImageMagick : para guardar gifs animados.
Manejo y representación de fuentes #
LaTeX (con cm-super y guión bajo ) y GhostScript (>= 9.0) : para renderizar texto con LaTeX.
fontconfig (>= 2.7): para la detección de fuentes del sistema en Linux.
Bibliotecas C #
Matplotlib trae sus propias copias de las siguientes bibliotecas:
Agg
: el motor de renderizado Anti-Grain Geometry C++ttconv
: una utilidad de fuente TrueType
Además, Matplotlib depende de:
FreeType (>= 2.3): una biblioteca de representación de fuentes
QHull (>= 2020.2): una biblioteca para computar triangulaciones
De forma predeterminada, Matplotlib descarga y crea sus propias copias de FreeType (esto es necesario para ejecutar el conjunto de pruebas, porque las diferentes versiones de FreeType rasterizan los caracteres de manera diferente) y de Qhull. Como excepción, Matplotlib utiliza de forma predeterminada la versión del sistema de FreeType en AIX.
Para obligar a Matplotlib a usar una copia de FreeType o Qhull ya instalada en su sistema, cree un mplsetup.cfg
archivo con el siguiente contenido:
[libs]
system_freetype = true
system_qhull = true
antes de correrpython -m pip install .
En este caso, debe instalar la biblioteca y los encabezados FreeType y Qhull. Esto se puede lograr utilizando un administrador de paquetes, por ejemplo, para FreeType:
# Pick ONE of the following:
sudo apt install libfreetype6-dev # Debian/Ubuntu
sudo dnf install freetype-devel # Fedora
brew install freetype # macOS with Homebrew
conda install freetype # conda, any OS
(adaptar en consecuencia para Qhull).
En Linux y macOS, también se recomienda instalar pkg-config , una herramienta auxiliar para localizar FreeType:
# Pick ONE of the following:
sudo apt install pkg-config # Debian/Ubuntu
sudo dnf install pkgconf # Fedora
brew install pkg-config # macOS with Homebrew
conda install pkg-config # conda
# Or point the PKG_CONFIG environment variable to the path to pkg-config:
export PKG_CONFIG=...
Si no usa pkg-config (en particular en Windows), es posible que deba establecer la ruta de inclusión (a los encabezados de la biblioteca) y la ruta de enlace (a las bibliotecas) explícitamente, si no están en ubicaciones estándar. Esto se puede hacer usando variables de entorno estándar, en Linux y OSX:
export CFLAGS='-I/directory/containing/ft2build.h'
export LDFLAGS='-L/directory/containing/libfreetype.so'
y en Windows:
set CL=/IC:\directory\containing\ft2build.h
set LINK=/LIBPATH:C:\directory\containing\freetype.lib
Si sigue esta ruta pero necesita restablecer y reconstruir para cambiar su configuración, recuerde borrar sus artefactos antes de reconstruir:
git clean -xfd
Soporte mínimo de pip / manylinux (linux) #
Matplotlib publica muchas ruedas Linux que tienen una versión mínima de pip que reconocerá las ruedas
Python 3.8:
manylinx2010
/ pip >= 19.0Python 3.9+:
manylinx2014
/ pip >= 19.3
En todos los casos, la versión requerida de pip está incrustada en la fuente de CPython.
Dependencias para construir Matplotlib #
Dependencias de configuración #
certificado (>= 2020.06.20). Se usa al descargar el código fuente de freetype y QHull durante la compilación. Esto no es una dependencia de tiempo de ejecución.
setuptools_scm (>= 7). Se utiliza para actualizar el informe
mpl.__version__
en función de la confirmación de git actual. También una dependencia de tiempo de ejecución para instalaciones editables.NúmPy (>= 1.19). También una dependencia de tiempo de ejecución.
compilador C++ #
Matplotlib requiere un compilador de C++ que admita C++11.
gcc 4.8.1 o superior
clang 3.3 o superior
Visual Studio 2015 (también conocido como VS 14.0) o superior
Dependencias para probar Matplotlib #
Esta sección enumera el software adicional necesario para ejecutar las pruebas .
Requerido:
Pytest (>= 3.6)
Opcional:
Además de todas las dependencias opcionales en la biblioteca principal, para las pruebas se usará lo siguiente si están instaladas.
Ghostscript (>= 9.0, para renderizar archivos PDF)
Inkscape (para renderizar archivos SVG)
nbformat y nbconvert utilizados para probar el backend del portátil
pandas utilizados para probar la compatibilidad con Pandas
pikepdf utilizado en algunas pruebas para los backends pgf y pdf
psutil utilizado para probar los backends interactivos
pytest-cov (>= 2.3.1) para recopilar información de cobertura
pytest-flake8 para probar los estándares de codificación usando flake8
pytest-timeout para limitar el tiempo de ejecución en caso de pruebas atascadas
pytest-xdist para ejecutar pruebas en paralelo
pytest-xvfb para ejecutar pruebas sin que aparezcan ventanas (Linux)
pytz usado para probar pytz int
sphinx utilizado para probar nuestras extensiones sphinx
Fuentes WenQuanYi Zen Hei y Noto Sans CJK para probar fuentes alternativas y fuentes no occidentales
xarray utilizado para probar la compatibilidad con xarray
Si alguna de estas dependencias no se descubre, pytest omitirá las pruebas que se basan en ellas.
Nota
Al instalar Inkscape en Windows, asegúrese de seleccionar "Agregar Inkscape a la RUTA del sistema", ya sea para todos los usuarios o para el usuario actual, o las pruebas no lo encontrarán.
Dependencias para construir la documentación de Matplotlib #
Paquetes de Python #
Los paquetes de Python adicionales necesarios para crear la
documentación se enumeran
doc-requirements.txt
y se pueden instalar usando
pip install -r requirements/doc/doc-requirements.txt
El contenido de doc-requirements.txt
también se muestra a continuación:
# Requirements for building docs # # You will first need a matching Matplotlib installation # e.g (from the Matplotlib root directory) # pip install -e . # # Install the documentation requirements with: # pip install -r requirements/doc/doc-requirements.txt # sphinx>=3.0.0 colorspacious ipython ipywidgets numpydoc>=1.0 packaging>=20 pydata-sphinx-theme>=0.9.0 mpl-sphinx-theme~=3.6.0 sphinxcontrib-svg2pdfconverter>=1.1.0 sphinx-gallery>=0.10 sphinx-copybutton sphinx-design
Dependencias externas adicionales #
Requerido:
una distribución mínima de LaTeX de trabajo
los siguientes paquetes de LaTeX (si su sistema operativo incluye TeXLive, la versión "completa" del instalador, por ejemplo, "texlive-full" o "texlive-all", a menudo incluirá automáticamente estos paquetes):
Opcional, pero recomendado:
la fuente "Humor Sans" (también conocida como la fuente "XKCD"), o la alternativa gratuita Comic Neue
la fuente "Times New Roman"
Nota
La documentación no se construirá sin LaTeX y Graphviz. Estos no son paquetes de Python y deben instalarse por separado. La documentación se puede construir sin Inkscape y optipng, pero el proceso de construcción generará varias advertencias. Si el proceso de compilación advierte que le faltan fuentes, asegúrese de que su distribución de LaTeX incluya cm-super o instálelo por separado.