Dependências #

Dependências de tempo de execução #

Dependências obrigatórias #

Ao instalar por meio de um gerenciador de pacotes como pipou conda, as dependências obrigatórias são instaladas automaticamente. Esta lista é principalmente para referência.

Dependências opcionais #

Os seguintes pacotes e ferramentas não são necessários, mas estendem os recursos do Matplotlib.

Backends #

As figuras do Matplotlib podem ser renderizadas para várias interfaces de usuário. Consulte O que é um back-end? para obter mais detalhes sobre os backends Matplotlib opcionais e os recursos que eles fornecem.

  • Tk (>= 8.4, != 8.6.0 ou 8.6.1): para back-ends baseados em Tk. Tk faz parte da maioria das instalações padrão do Python, mas não faz parte do próprio Python e, portanto, pode não estar presente em casos raros.

  • PyQt6 (>= 6.1), PySide6 , PyQt5 ou PySide2 : para back-ends baseados em Qt.

  • PyGObject e pycairo (>= 1.14.0): para back-ends baseados em GTK. Se estiver usando pip (mas não conda ou gerenciador de pacotes do sistema), o PyGObject deve ser construído a partir do código-fonte; consulte a documentação do pygobject .

  • pycairo (>= 1.14.0) ou cairocffi (>= 0.8): para back-ends baseados no Cairo.

  • wxPython (>= 4): para back-ends baseados em wx. Se estiver usando pip (mas não conda ou gerenciador de pacotes do sistema) no Linux, as rodas wxPython devem ser baixadas manualmente em https://wxpython.org/pages/downloads/ .

  • Tornado (>= 5): para o back-end do WebAgg.

  • ipykernel : para o backend nbagg.

  • macOS (>= 10.12): para o back-end macosx.

Animações #

Manipulação e renderização de fontes #

bibliotecas C #

Matplotlib traz suas próprias cópias das seguintes bibliotecas:

  • Agg: o mecanismo de renderização Anti-Grain Geometry C++

  • ttconv: um utilitário de fonte TrueType

Além disso, o Matplotlib depende de:

  • FreeType (>= 2.3): uma biblioteca de renderização de fontes

  • QHull (>= 2020.2): uma biblioteca para computar triangulações

Por padrão, o Matplotlib baixa e cria suas próprias cópias do FreeType (isso é necessário para executar o conjunto de testes, porque diferentes versões do FreeType rasterizam os caracteres de maneira diferente) e do Qhull. Como exceção, o padrão do Matplotlib é a versão do sistema do FreeType no AIX.

Para forçar o Matplotlib a usar uma cópia do FreeType ou Qhull já instalado em seu sistema, crie um mplsetup.cfgarquivo com o seguinte conteúdo:

[libs]
system_freetype = true
system_qhull = true

antes de correr .python -m pip install .

Nesse caso, você precisa instalar a biblioteca e os cabeçalhos FreeType e Qhull. Isso pode ser obtido usando um gerenciador de pacotes, por exemplo, 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 adequadamente para Qhull).

No Linux e no macOS, também é recomendável instalar o pkg-config , uma ferramenta auxiliar para localizar o 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=...

Se não estiver usando o pkg-config (especialmente no Windows), pode ser necessário definir o caminho de inclusão (para os cabeçalhos da biblioteca) e o caminho do link (para as bibliotecas) explicitamente, se eles não estiverem em locais padrão. Isso pode ser feito usando variáveis ​​de ambiente padrão -- no Linux e OSX:

export CFLAGS='-I/directory/containing/ft2build.h'
export LDFLAGS='-L/directory/containing/libfreetype.so'

e no Windows:

set CL=/IC:\directory\containing\ft2build.h
set LINK=/LIBPATH:C:\directory\containing\freetype.lib

Se você seguir esse caminho, mas precisar redefinir e reconstruir para alterar suas configurações, lembre-se de limpar seus artefatos antes de reconstruir:

git clean -xfd

Suporte mínimo de pip / manylinux (linux) #

Matplotlib publica muitas rodas linux que possuem uma versão mínima do pip que reconhecerá as rodas

  • Python 3.8: manylinx2010/pip >= 19.0

  • Python 3.9+: manylinx2014/pip >= 19.3

Em todos os casos, a versão necessária do pip está incorporada na fonte CPython.

Dependências para construir Matplotlib #

Dependências de configuração #

  • certificado (>= 2020.06.20). Usado durante o download da fonte freetype e QHull durante a compilação. Esta não é uma dependência de tempo de execução.

  • setuptools_scm (>= 7). Usado para atualizar o relatado mpl.__version__com base no git commit atual. Também uma dependência de tempo de execução para instalações editáveis.

  • NumPy (>= 1,19). Também uma dependência de tempo de execução.

Compilador C++ #

O Matplotlib requer um compilador C++ compatível com C++11.

Dependências para testar o Matplotlib #

Esta seção lista o software adicional necessário para executar os testes .

Requeridos:

Opcional:

Além de todas as dependências opcionais na biblioteca principal, para teste, o seguinte será usado se estiver instalado.

  • Ghostscript (>= 9.0, para renderizar arquivos PDF)

  • Inkscape (para renderizar arquivos SVG)

  • nbformat e nbconvert usados ​​para testar o back-end do notebook

  • pandas usados ​​para testar compatibilidade com Pandas

  • pikepdf usado em alguns testes para os backends pgf e pdf

  • psutil usado para testar os back-ends interativos

  • pytest-cov (>= 2.3.1) para coletar informações de cobertura

  • pytest-flake8 para testar padrões de codificação usando flake8

  • pytest-timeout para limitar o tempo de execução em caso de testes travados

  • pytest-xdist para executar testes em paralelo

  • pytest-xvfb para executar testes sem janelas aparecendo (Linux)

  • pytz usado para testar pytz int

  • sphinx usado para testar nossas extensões sphinx

  • Fontes WenQuanYi Zen Hei e Noto Sans CJK para testar fontes alternativas e fontes não ocidentais

  • xarray usado para testar a compatibilidade com xarray

Se alguma dessas dependências não for descoberta, os testes que dependem delas serão ignorados pelo pytest.

Observação

Ao instalar o Inkscape no Windows, certifique-se de selecionar “Adicionar Inkscape ao PATH do sistema”, seja para todos os usuários ou para o usuário atual, ou os testes não o encontrarão.

Dependências para construir a documentação do Matplotlib #

Pacotes Python #

Os pacotes Python adicionais necessários para construir a documentação estão listados doc-requirements.txte podem ser instalados usando

pip install -r requirements/doc/doc-requirements.txt

O conteúdo de doc-requirements.txttambém é mostrado abaixo:

# 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

Dependências externas adicionais #

Requeridos:

  • uma distribuição LaTeX funcional mínima

  • GraphvizGenericName

  • os seguintes pacotes LaTeX (se o seu sistema operacional agrupar o TeXLive, a versão "completa" do instalador, por exemplo, "texlive-full" ou "texlive-all", geralmente incluirá automaticamente esses pacotes):

Opcional, mas recomendado:

Observação

A documentação não será construída sem LaTeX e Graphviz. Estes não são pacotes Python e devem ser instalados separadamente. A documentação pode ser construída sem o Inkscape e optipng, mas o processo de compilação irá gerar vários avisos. Se o processo de compilação avisar que faltam fontes, certifique-se de que sua distribuição LaTeX inclua o cm-super ou instale-o separadamente.