종속성 #

런타임 의존성 #

필수 의존성 #

pip또는 와 같은 패키지 관리자를 통해 설치하는 conda경우 필수 종속성이 자동으로 설치됩니다. 이 목록은 주로 참조용입니다.

선택적 종속성 #

다음 패키지 및 도구는 필수는 아니지만 Matplotlib의 기능을 확장합니다.

백엔드 #

Matplotlib 그림은 다양한 사용자 인터페이스로 렌더링할 수 있습니다. 백엔드란 무엇입니까?를 참조하십시오 . 선택적 Matplotlib 백엔드 및 백엔드가 제공하는 기능에 대한 자세한 내용을 확인하십시오.

  • Tk (>= 8.4, != 8.6.0 또는 8.6.1): Tk 기반 백엔드용. Tk는 대부분의 표준 Python 설치의 일부이지만 Python 자체의 일부가 아니므로 드물게 존재하지 않을 수 있습니다.

  • PyQt6 (>= 6.1), PySide6 , PyQt5 또는 PySide2 : Qt 기반 백엔드용.

  • PyGObjectpycairo (>= 1.14.0): GTK 기반 백엔드용. pip를 사용하는 경우(conda 또는 시스템 패키지 관리자 제외) PyGObject는 소스에서 빌드해야 합니다. pygobject 설명서 를 참조하십시오 .

  • pycairo (>= 1.14.0) 또는 cairocffi (>= 0.8): 카이로 기반 백엔드용.

  • wxPython (>= 4): wx 기반 백엔드용. Linux에서 pip를 사용하는 경우(conda 또는 시스템 패키지 관리자 제외) wxPython 휠은 https://wxpython.org/pages/downloads/ 에서 수동으로 다운로드해야 합니다 .

  • 토네이도 (>= 5): WebAgg 백엔드용.

  • ipykernel : nbagg 백엔드용.

  • macOS(>= 10.12): macosx 백엔드용.

애니메이션 #

글꼴 처리 및 렌더링 #

C 라이브러리 #

Matplotlib는 다음 라이브러리의 자체 사본을 가져옵니다.

  • Agg: Anti-Grain Geometry C++ 렌더링 엔진

  • ttconv: TrueType 글꼴 유틸리티

또한 Matplotlib는 다음에 의존합니다.

  • FreeType (>= 2.3): 글꼴 렌더링 라이브러리

  • QHull (>= 2020.2): 삼각 측량을 계산하기 위한 라이브러리

기본적으로 Matplotlib는 FreeType(FreeType 버전마다 문자를 다르게 래스터화하기 때문에 테스트 스위트를 실행하는 데 필요함) 및 Qhull의 자체 복사본을 다운로드하고 빌드합니다. 예외적으로 Matplotlib는 AIX에서 시스템 버전의 FreeType을 기본으로 사용합니다.

Matplotlib이 시스템에 이미 설치된 FreeType 또는 Qhull의 복사본을 사용하도록 강제하려면 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 휠을 게시합니다.

  • 파이썬 3.8: manylinx2010/핍 >= 19.0

  • 파이썬 3.9 이상: manylinx2014/핍 >= 19.3

모든 경우에 필요한 버전의 pip는 CPython 소스에 내장되어 있습니다.

Matplotlib 구축을 위한 종속성 #

종속성 설정 #

  • 인증서(>= 2020.06.20) . 빌드 중 freetype 및 QHull 소스를 다운로드하는 동안 사용됩니다. 이것은 런타임 종속성이 아닙니다.

  • setuptools_scm (>= 7). mpl.__version__현재 git 커밋을 기반으로 보고를 업데이트하는 데 사용됩니다 . 또한 편집 가능한 설치에 대한 런타임 종속성입니다.

  • 넘파이 (>= 1.19). 또한 런타임 종속성입니다.

C++ 컴파일러 #

Matplotlib에는 C++11을 지원하는 C++ 컴파일러가 필요합니다.

Matplotlib 테스트를 위한 종속성 #

이 섹션에는 테스트 를 실행하는 데 필요한 추가 소프트웨어가 나열되어 있습니다.

필수의:

선택 과목:

기본 라이브러리에 대한 모든 선택적 종속성 외에도 테스트를 위해 다음이 설치된 경우 사용됩니다.

이러한 종속성이 발견되지 않으면 의존하는 테스트는 pytest에서 건너뜁니다.

메모

Windows에 Inkscape를 설치할 때 모든 사용자 또는 현재 사용자에 대해 "시스템 경로에 Inkscape 추가"를 선택해야 합니다. 그렇지 않으면 테스트에서 찾을 수 없습니다.

Matplotlib의 문서 작성을 위한 종속성 #

파이썬 패키지 #

문서 를 빌드하는 데 필요한 추가 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를 번들로 제공하는지 확인하거나 별도로 설치하십시오.