依存関係#

ランタイムの依存関係#

必須の依存関係#

pipまたはのようなパッケージ マネージャーを使用してインストールするcondaと、必須の依存関係が自動的にインストールされます。このリストは主に参考用です。

オプションの依存関係#

次のパッケージとツールは必須ではありませんが、Matplotlib の機能を拡張します。

バックエンド#

Matplotlib の図は、さまざまなユーザー インターフェイスにレンダリングできます。バックエンドとは?を参照してください 。オプションの Matplotlib バックエンドとそれらが提供する機能の詳細については、

  • Tk (>= 8.4, != 8.6.0 または 8.6.1): Tk ベースのバックエンド用。Tk はほとんどの標準的な Python インストールの一部ですが、Python 自体の一部ではないため、まれに存在しない場合があります。

  • PyQt6 (>= 6.1)、PySide6PyQt5、またはPySide2 : Qt ベースのバックエンド用。

  • PyGObjectおよびpycairo (>= 1.14.0): GTK ベースのバックエンド用。pip を使用する場合 (conda またはシステム パッケージ マネージャーを使用しない場合)、PyGObject をソースからビルドする必要があります。pygobject のドキュメントを参照してください。

  • pycairo (>= 1.14.0) またはcairocffi (>= 0.8): cairo ベースのバックエンド用。

  • wxPython (>= 4): wx ベースのバックエンド用。Linux で pip (conda またはシステム パッケージ マネージャーを除く) を使用する場合、wxPython ホイールはhttps://wxpython.org/pages/downloads/から手動でダウンロードする必要があります。

  • Tornado (>= 5): WebAgg バックエンド用。

  • ipykernel : nbagg バックエンド用。

  • macOS (>= 10.12): macosx バックエンド用。

アニメーション#

  • ffmpeg : 動画の保存用。

  • ImageMagick : アニメーション GIF の保存用。

フォントの処理とレンダリング#

C ライブラリ#

Matplotlib は、次のライブラリの独自のコピーを提供します。

  • Agg: Anti-Grain Geometry C++ レンダリング エンジン

  • ttconv: TrueType フォント ユーティリティ

さらに、Matplotlib は以下に依存します。

  • FreeType (>= 2.3): フォント レンダリング ライブラリ

  • QHull (>= 2020.2): 三角形分割を計算するためのライブラリ

デフォルトでは、Matplotlib は FreeType (FreeType のバージョンによって文字のラスタライズが異なるため、テスト スイートを実行するために必要です) と Qhull の独自のコピーをダウンロードしてビルドします。例外として、Matplotlib はデフォルトで AIX 上の FreeType のシステム バージョンになります。

システムにすでにインストールされている FreeType または Qhull のコピーを Matplotlib で強制的に使用するにはmplsetup.cfg、次の内容のファイルを作成します。

[libs]
system_freetype = true
system_qhull = true

実行する前に。python -m pip install .

この場合、FreeType および Qhull ライブラリとヘッダーをインストールする必要があります。これは、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

(Qhull に合わせて調整します)。

Linux および macOS では、 FreeType を見つけるためのヘルパー ツールであるpkg-configをインストールすることもお勧めします。

# 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=...

pkg-config を使用しない場合 (特に Windows の場合)、インクルード パス (ライブラリ ヘッダーへの) とリンク パス (ライブラリへの) を明示的に設定する必要がある場合があります (それらが標準の場所にない場合)。これは、標準の環境変数を使用して行うことができます -- Linux および OSX では:

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

Windows の場合:

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

このルートをたどり、設定を変更するためにリセットして再構築する必要がある場合は、再構築する前にアーティファクトをクリアすることを忘れないでください。

git clean -xfd

最小限の pip / manylinux サポート (linux) #

Matplotlib は、ホイールを認識する最小バージョンの pip を持つ多くのLinux ホイールを公開しています

  • Python 3.8: manylinx2010/ ピップ >= 19.0

  • Python 3.9 以降: manylinx2014/ pip >= 19.3

いずれの場合も、必要なバージョンの pip は CPython ソースに組み込まれています。

Matplotlib を構築するための依存関係#

依存関係の設定#

  • certifi (>= 2020.06.20). ビルド中に freetype と QHull ソースをダウンロードする際に使用されます。これは実行時の依存関係ではありません。

  • setuptools_scm (>= 7)。mpl.__version__現在の git commit に基づいてレポートを更新するために使用されます。また、編集可能なインストールのランタイム依存関係。

  • NumPy (>= 1.19)。また、ランタイムの依存関係。

C++ コンパイラ#

Matplotlib には、C++11 をサポートする C++ コンパイラが必要です。

Matplotlib をテストするための依存関係#

このセクションでは、テストの実行に必要な追加ソフトウェアをリストし ます。

必須:

オプション:

メイン ライブラリのすべてのオプションの依存関係に加えて、テスト用に以下がインストールされている場合に使用されます。

  • Ghostscript (>= 9.0、PDF ファイルをレンダリングするため)

  • Inkscape (SVG ファイルをレンダリングするため)

  • ノートブック バックエンドのテストに使用されるnbformatnbconvert

  • Pandas との互換性をテストするために使用されるpandas

  • pgfおよび pdf バックエンドの一部のテストで使用される pikepdf

  • 対話型バックエンドのテストに使用されるpsutil

  • カバレッジ情報を収集するpytest-cov (>= 2.3.1)

  • flake8を使用してコーディング標準をテストするための pytest- flake8

  • テストがスタックした場合に実行時間を制限するpytest-timeout

  • テストを並行して実行するpytest-xdist

  • ウィンドウがポップアップせずにテストを実行するpytest-xvfb (Linux)

  • pytz int のテストに使用される pytz

  • Sphinx拡張機能のテストに使用されるsphinx

  • WenQuanYi Zen Hei およびNoto Sans CJK フォント (フォント フォールバックおよび非西洋フォントのテスト用)

  • xarrayとの互換性をテストするために使用される xarray

これらの依存関係のいずれかが検出されない場合、それらに依存するテストは pytest によってスキップされます。

ノート

Inkscape を Windows にインストールするときは、すべてのユーザーまたは現在のユーザーに対して [Inkscape をシステム PATH に追加] を選択していることを確認してください。そうしないと、テストで検出されません。

Matplotlib のドキュメントを構築するための依存関係#

Python パッケージ#

ドキュメントのビルドに必要な追加の Python パッケージ は に一覧表示されて おり、次doc-requirements.txtを使用してインストールできます。

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

の内容doc-requirements.txtも以下に示します。

# 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

追加の外部依存関係#

必須:

  • 最小限の作業用 LaTeX ディストリビューション

  • グラフビズ

  • 次の LaTeX パッケージ (お使いの OS に TeXLive がバンドルされている場合、"完全な" バージョンのインストーラー ("texlive-full" や "texlive-all" など) には、多くの場合、これらのパッケージが自動的に含まれます):

オプションですが、推奨されます:

ノート

ドキュメントは、LaTeX と Graphviz なしではビルドされません。これらは Python パッケージではないため、個別にインストールする必要があります。ドキュメントは Inkscape と optipng なしでビルドできますが、ビルド プロセスでさまざまな警告が発生します。ビルド プロセスでフォントが見つからないという警告が表示された場合は、LaTeX ディストリビューションに cm-super がバンドルされていることを確認するか、個別にインストールしてください。