Dipendenze #
Dipendenze di runtime #
Dipendenze obbligatorie #
Quando si installa tramite un gestore di pacchetti come pip
o conda
, le dipendenze obbligatorie vengono installate automaticamente. Questo elenco è principalmente per riferimento.
Pitone (>= 3.8)
contorno (>= 1.0.1)
ciclista (>= 0.10.0)
dateutil (>= 2.7)
fontStrumenti (>= 4.22.0)
kiwisolver (>= 1.0.1)
NumPy (>= 1,19)
confezione (>= 20.0)
Cuscino (>= 6.2)
pyparsing (>= 2.2.1)
Dipendenze facoltative #
I seguenti pacchetti e strumenti non sono richiesti ma estendono le capacità di Matplotlib.
Backend n.
Le figure Matplotlib possono essere visualizzate su varie interfacce utente. Vedi Cos'è un back-end? per maggiori dettagli sui backend Matplotlib facoltativi e sulle funzionalità che forniscono.
Tk (>= 8.4, != 8.6.0 o 8.6.1): per i backend basati su Tk. Tk fa parte della maggior parte delle installazioni Python standard, ma non fa parte di Python stesso e quindi potrebbe non essere presente in rari casi.
PyQt6 (>= 6.1), PySide6 , PyQt5 o PySide2 : per i backend basati su Qt.
PyGObject e pycairo (>= 1.14.0): per i backend basati su GTK. Se si utilizza pip (ma non conda o gestore di pacchetti di sistema) PyGObject deve essere compilato dal sorgente; vedere la documentazione di pygobject .
pycairo (>= 1.14.0) o cairocffi (>= 0.8): per backend basati su cairo.
wxPython (>= 4): per i backend basati su wx. Se si utilizza pip (ma non conda o gestore di pacchetti di sistema) su Linux, le ruote wxPython devono essere scaricate manualmente da https://wxpython.org/pages/downloads/ .
Tornado (>= 5): per il backend WebAgg.
ipykernel : per il backend nbagg.
macOS (>= 10.12): per il backend macosx.
Animazioni #
ffmpeg : per salvare i filmati.
ImageMagick : per salvare gif animate.
Gestione e rendering dei caratteri #
LaTeX (con cm-super e underscore ) e GhostScript (>= 9.0) : per rendere il testo con LaTeX.
fontconfig (>= 2.7): per il rilevamento dei font di sistema su Linux.
Librerie C #
Matplotlib porta le proprie copie delle seguenti librerie:
Agg
: il motore di rendering Anti-Grain Geometry C++ttconv
: un'utilità per i caratteri TrueType
Inoltre, Matplotlib dipende da:
FreeType (>= 2.3): una libreria per il rendering dei caratteri
QHull (>= 2020.2): una libreria per il calcolo delle triangolazioni
Per impostazione predefinita, Matplotlib scarica e crea le proprie copie di FreeType (questo è necessario per eseguire la suite di test, perché diverse versioni di FreeType rasterizzano i caratteri in modo diverso) e di Qhull. Come eccezione, Matplotlib utilizza per impostazione predefinita la versione di sistema di FreeType su AIX.
Per forzare Matplotlib ad utilizzare una copia di FreeType o Qhull già installata nel tuo sistema, crea un mplsetup.cfg
file con il seguente contenuto:
[libs]
system_freetype = true
system_qhull = true
prima di correre .python -m pip install .
In questo caso, è necessario installare la libreria e le intestazioni FreeType e Qhull. Ciò può essere ottenuto utilizzando un gestore di pacchetti, ad esempio per 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
(adattare di conseguenza per Qhull).
Su Linux e macOS, si consiglia inoltre di installare pkg-config , uno strumento di supporto per l'individuazione di 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 non si utilizza pkg-config (in particolare su Windows), potrebbe essere necessario impostare il percorso di inclusione (alle intestazioni della libreria) e il percorso di collegamento (alle librerie) in modo esplicito, se non si trovano in posizioni standard. Questo può essere fatto usando variabili di ambiente standard - su Linux e OSX:
export CFLAGS='-I/directory/containing/ft2build.h'
export LDFLAGS='-L/directory/containing/libfreetype.so'
e su Windows:
set CL=/IC:\directory\containing\ft2build.h
set LINK=/LIBPATH:C:\directory\containing\freetype.lib
Se segui questa strada ma devi ripristinare e ricostruire per modificare le tue impostazioni, ricordati di cancellare i tuoi artefatti prima di ricostruire:
git clean -xfd
Pip minimo / supporto manylinux (linux) #
Matplotlib pubblica molte ruote Linux che hanno una versione minima di pip che riconoscerà le ruote
Python 3.8:
manylinx2010
/pip >= 19.0Python 3.9+:
manylinx2014
/ pip >= 19.3
In tutti i casi la versione richiesta di pip è incorporata nel sorgente CPython.
Dipendenze per la creazione di Matplotlib #
Imposta dipendenze #
certifi (>= 20.06.2020). Utilizzato durante il download del codice sorgente freetype e QHull durante la compilazione. Questa non è una dipendenza di runtime.
setuptools_scm (>= 7). Utilizzato per aggiornare il report
mpl.__version__
in base al commit git corrente. Anche una dipendenza di runtime per installazioni modificabili.NumPy (>= 1,19). Anche una dipendenza di runtime.
compilatore C++ #
Matplotlib richiede un compilatore C++ che supporti C++11.
gcc 4.8.1 o superiore
clang 3.3 o superiore
Visual Studio 2015 (noto anche come VS 14.0) o versioni successive
Dipendenze per testare Matplotlib #
Questa sezione elenca il software aggiuntivo richiesto per l'esecuzione dei test .
Necessario:
pytest (>= 3.6)
Opzionale:
Oltre a tutte le dipendenze facoltative sulla libreria principale, per il test verranno utilizzate le seguenti, se installate.
Ghostscript (>= 9.0, per il rendering di file PDF)
Inkscape (per rendere i file SVG)
nbformat e nbconvert utilizzati per testare il backend del notebook
panda utilizzato per testare la compatibilità con i panda
pikepdf utilizzato in alcuni test per i backend pgf e pdf
psutil utilizzato per testare i backend interattivi
pytest-cov (>= 2.3.1) per raccogliere informazioni sulla copertura
pytest-flake8 per testare gli standard di codifica usando flake8
pytest-timeout per limitare il runtime in caso di test bloccati
pytest-xdist per eseguire i test in parallelo
pytest-xvfb per eseguire test senza che si aprano finestre (Linux)
pytz usato per testare pytz int
sphinx usato per testare le nostre estensioni sphinx
Font WenQuanYi Zen Hei e Noto Sans CJK per testare font fallback e font non occidentali
xarray usato per testare la compatibilità con xarray
Se una di queste dipendenze non viene scoperta, i test che si basano su di esse verranno saltati da pytest.
Nota
Quando installi Inkscape su Windows, assicurati di selezionare "Aggiungi Inkscape al PERCORSO di sistema", per tutti gli utenti o per l'utente corrente, altrimenti i test non lo troveranno.
Dipendenze per la creazione della documentazione di Matplotlib #
Pacchetti Python #
I pacchetti Python aggiuntivi richiesti per compilare la
documentazione sono elencati in
doc-requirements.txt
e possono essere installati utilizzando
pip install -r requirements/doc/doc-requirements.txt
Il contenuto di doc-requirements.txt
è anche mostrato di seguito:
# 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
Ulteriori dipendenze esterne #
Necessario:
una distribuzione LaTeX minima funzionante
i seguenti pacchetti LaTeX (se il tuo sistema operativo raggruppa TeXLive, la versione "completa" del programma di installazione, ad esempio "texlive-full" o "texlive-all", spesso includerà automaticamente questi pacchetti):
Facoltativo, ma consigliato:
il carattere "Humor Sans" (noto anche come carattere "XKCD") o l'alternativa gratuita Comic Neue
il carattere "Times New Roman"
Nota
La documentazione non verrà compilata senza LaTeX e Graphviz. Questi non sono pacchetti Python e devono essere installati separatamente. La documentazione può essere compilata senza Inkscape e optipng, ma il processo di compilazione genererà vari avvertimenti. Se il processo di compilazione avverte che mancano dei caratteri, assicurati che la tua distribuzione LaTeX includa cm-super o installalo separatamente.