Dependências #
Dependências de tempo de execução #
Dependências obrigatórias #
Ao instalar por meio de um gerenciador de pacotes como pip
ou conda
, as dependências obrigatórias são instaladas automaticamente. Esta lista é principalmente para referência.
Python (>= 3.8)
contorno (>= 1.0.1)
ciclador (>= 0.10.0)
datautil (>= 2.7)
fontTools (>= 4.22.0)
kiwisolver (>= 1.0.1)
NumPy (>= 1,19)
embalagem (>= 20,0)
Travesseiro (>= 6,2)
pyparsing (>= 2.2.1)
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 #
ffmpeg : para salvar filmes.
ImageMagick : para salvar gifs animados.
Manipulação e renderização de fontes #
LaTeX (com cm-super e sublinhado ) e GhostScript (>= 9.0) : para renderizar texto com LaTeX.
fontconfig (>= 2.7): para detecção de fontes do sistema no Linux.
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.cfg
arquivo 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.0Python 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.
gcc 4.8.1 ou superior
clang 3.3 ou superior
Visual Studio 2015 (também conhecido como VS 14.0) ou superior
Dependências para testar o Matplotlib #
Esta seção lista o software adicional necessário para executar os testes .
Requeridos:
pytest (>= 3.6)
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.txt
e podem ser instalados usando
pip install -r requirements/doc/doc-requirements.txt
O conteúdo de doc-requirements.txt
també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
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:
a fonte "Humor Sans" (também conhecida como fonte "XKCD") ou a alternativa gratuita Comic Neue
a fonte "Times New Roman"
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.