安装

注解

如果你想为这个项目做贡献,建议你 install the latest development version .

安装正式版本

Matplotlib及其依赖项作为MacOS、Windows和Linux发行版的车轮包提供:

python -m pip install -U pip
python -m pip install -U matplotlib

注解

以下是现成的后端:agg、ps、pdf、svg和tkagg。

为了支持其他GUI框架、 Latex 渲染、保存动画和更大的文件格式选择,您可能需要安装 additional dependencies .

虽然不需要,但我们建议安装 IPython 供交互使用。要轻松安装完整的科学python堆栈,请参见 科学 Python 分布 下面。

测试数据

轮子 (*.whlPyPI download page 不包含测试数据或示例代码。

如果您想尝试Matplotlib源代码分发中的许多演示,请下载 *.tar.gz 归档并查找 examples 子目录。

要运行测试套件:

  • 提取 lib/matplotlib/testslib/mpl_toolkits/tests 源分发目录;
  • 安装测试依赖项: pytest ,枕头,miktex,ghostscript,ffmpeg,avconv,imagemagick,和 Inkscape
  • 运行 python -mpytest .

Matplotlib的第三方分布

科学 Python 分布

AnacondaCanopyActiveState 对于Windows、MacOS和普通Linux平台来说,这是一个非常好的选择。 WinPython 是Windows用户的一个选项。所有这些分布都包括matplotlib和 lots 其他有用的(数据)科学工具。

Linux:使用包管理器

如果您使用的是Linux,那么您可能更喜欢使用包管理器。Matplotlib几乎为每个主要的Linux发行版打包。

  • Debian/Ubuntu: sudo apt-get install python3-matplotlib
  • Fedora: sudo dnf install python3-matplotlib
  • 红帽: sudo yum install python3-matplotlib
  • Arch: sudo pacman -S python-matplotlib

从源安装

如果您对Matplotlib开发、运行最新的源代码感兴趣,或者只是想自己构建所有东西,那么从源代码构建Matplotlib并不难。抓住最新 tar.gz 释放文件 the PyPI files page ,或者,如果您想开发Matplotlib或只需要最新的bug修复版本,请获取最新的git版本,然后参阅 从源安装 .

标准环境变量 CCCXXPKG_CONFIG 受到尊重。这意味着您可以设置它们,如果您的工具链是前缀。这可以用于交叉编译。:

export CC=x86_64-pc-linux-gnu-gcc
export CXX=x86_64-pc-linux-gnu-g++
export PKG_CONFIG=x86_64-pc-linux-gnu-pkg-config

一旦满足了下面详细的需求(主要是python、numpy、libpng和freetype),就可以构建matplotlib。::

cd matplotlib
python -mpip install .

我们提供了一个 setup.cfg 可用于自定义生成过程的文件。例如,要使用哪个默认后端,Matplotlib附带的一些可选库是否已安装,等等。这个文件对于那些打包Matplotlib特别有用。

依赖关系

Matplotlib需要以下依赖项:

或者,您也可以安装许多软件包以启用更好的用户界面工具包。见 什么是后端? 有关可选matplotlib后端及其提供的功能的更多详细信息。

  • Tk (>8.3)=8.6.0或8.6.1):用于基于TK的后端;
  • PyQt4 (>4.6)或 PySide (>=1.0.3) [1]: 对于基于Qt4的后端;
  • PyQt5: 对于基于qt5的后端;
  • PyGObject: 对于基于GTK3的后端 [2];
  • wxPython (>=4) [3]: 对于基于wx的后端;
  • cairocffi (>0.8)或 pycairo :用于基于开罗的后端;
  • Tornado: 对于webagg后端;
[1]PySide不能在Linux上安装pip(但可以安装conda)。
[2]如果使用pip(而不是conda),则必须从源代码构建PyGObject;请参阅https://pygobject.readthedocs.io/en/latest/devguide/dev_environ.html。
[3]如果在Linux上使用pip(而不是conda),则必须从https://wxpython.org/pages/downloads/。

为了更好地支持动画输出格式和图像文件格式、 Latex 等,可以安装以下内容:

注解

matplotlib依赖于非python库。

在Linux和OSX上, pkg-config 可用于查找所需的非python库,从而使安装更加顺利,如果库和头不在预期的位置。

如果不使用pkg config(特别是在Windows上),则可能需要显式地设置include路径(指向FreeType、libpng和zlib头)和链接路径(指向FreeType、libpng和zlib库),如果它们不在标准位置。这可以通过使用标准环境变量来实现——在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 ...

在哪里? ... means "also give, in the same format, the directories containing png.h and zlib.h for the include path, and for libpng.so/png.liblibz.so/z.lib 对于链接路径。“

注解

以下库随Matplotlib一起提供:

  • Agg 反粒度几何C++渲染引擎;
  • qhull :计算Delaunay三角测量;
  • ttconv :TrueType字体实用程序。

在Linux上构建

使用系统包管理器安装依赖项最简单。

如果您在debian/ubuntu上,那么可以获得构建matplotlib所需的所有依赖项::

sudo apt-get build-dep python-matplotlib

如果您使用的是Fedora,那么您可以获得构建Matplotlib所需的所有依赖项::

sudo dnf builddep python-matplotlib

如果您使用的是RedHat,则可以通过首先安装来获取构建Matplotlib所需的所有依赖项。 yum-builddep 然后跑步:

su -c "yum-builddep python-matplotlib"

这些命令不构建matplotlib,而是获取并安装构建依赖项,这将使从源代码构建更容易。

建立在MacOS上

MacOS上的构建情况因人们可以获得libpng和freetype需求(macports、fink、/usr/x11r6)、不同的架构(例如x86、ppc、universal)和不同的MacOS版本(例如10.4和10.5)而变得复杂。我们建议您按照我们为MacOS版本所做的方式构建:从tarball或git存储库获取源代码,并通过第三方包管理器安装所需的依赖项。两个广泛使用的包管理器是自制的和MacPorts。下面的示例说明如何使用 brew ::

brew install libpng freetype pkg-config

如果您使用的是MacPorts,请改为执行以下操作:

port install libpng freetype pkgconfig

安装上述要求后,通过执行以下操作从源位置安装matplotlib::

python -mpip install .

请注意,您的环境有些重要。一些Conda用户发现,要运行测试,他们的pythonpath必须包括/path/to/anaconda/…/site包,他们的dyld_fallback_library_path必须包括/path/to/anaconda/lib。

在窗户上建造

来自https://www.python.org的python是用Visual Studio 2015为3.5+编译的。python扩展应该使用相同的编译器进行编译,请参见https://packaging.python.org/guides/packaging binary extensions/setting-up-a-build-environment-on-windows了解如何设置构建环境。

Windows操作系统没有规范的包管理器,无法轻松包含Matplotlib构建所需的依赖项。但是,从源代码构建FreeType、zlib和libpng依赖项并将它们集成到Matplotlib构建中的文档和脚本可以在 matplotlib-winbuild .

在Windows上构建Matplotlib有几种可能性:

  • 车轮通过 matplotlib-winbuild
  • 使用Conda软件包的车轮(见下文)
  • 康达包装(见下文)

如果您正在构建自己的Matplotlib控制盘(或sdists),请注意,复制到源树中的所有dll也将打包。

注解

当前的主分支(将成为matplotlib3.3)包含自己的Qhull副本;默认情况下,下载并构建自己的FreeType副本。唯一需要的非python依赖项是visualstudio2015或更高版本。看到了吗https://matplotlib.org/devdocs/users/installing.htmlbuilding-有关从主控形状安装的说明)。

使用Conda软件包构建车轮

这是一个车轮制造,但我们使用Conda软件包来获得所有的要求。二进制需求(png,freetype,…)是静态链接的,因此在车轮安装期间不需要。

设置Conda环境。注意,如果需要qt后端,请添加 pyqt Conda包列表。

conda create -n "matplotlib_build" python=3.7 numpy python-dateutil pyparsing tornado cycler tk libpng zlib freetype
conda activate matplotlib_build
# force the build against static libpng and zlib libraries
set MPLSTATICBUILD=True
python setup.py bdist_wheel

Conda包

Matplotlib的conda打包脚本位于https://github.com/conda-forge/matplotlib-fipper。