Matplotlib 中文用户指南 2 安装

安装

原文:Installing

译者:飞龙

协议:CC BY-NC-SA 4.0

有许多安装 matplotlib 的不同方法,最好的方法取决于你使用的操作系统,已经安装的内容以及如何使用它。 为了避免涉及本页上的所有细节(和潜在的复杂性),有几个方便的选项。

安装预构建包

多数平台:Python 科学分发包

第一个选项是使用已经内置 matplotlib 的预打包的 Python 分发包。 Continuum.io Python 分发包(Anaconda 或 miniconda)和 Enthought 分发包(Canopy)都是『在 Windows,OSX 和主流 Linux 平台开箱即用并正常工作』的出色选择。 这两个分发包包括 matplotlib 和许多其他有用的工具。

Linux:使用你的包管理器

如果你是用 Linux,你可能更倾向于使用包管理器。matplotlib 是用于多数主流 Linux 发行版的包。

  • Debian / Ubuntu:sudo apt-get install python-matplotlib
  • Fedora / Redhat:sudo yum install python-matplotlib

Mac OSX:使用pip

如果你使用 MacOS,你可以使用 Python 标准安装程序pip来安装 matplotlib 二进制。参见安装 MacOS 二进制轮子

Windows

如果你还没有安装 Python,我们建议使用兼容 SciPy 技术栈的 Python 分发版本,如 WinPython,Python(x, y),Enthought Canopy 或 Continuum Anaconda,它们含有 matplotlib 和它的许多依赖,并预装了其他有用的软件包。

对于 Python 的标准安装,可以使用pip安装 matplotlib :

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

如果没有为所有用户安装 Python 2.7 或 3.4,则需要安装 Microsoft Visual C++ 2008(对于 Python 2.7 为 64 位或 32 位)或 Microsoft Visual C++ 2010(对于 Python 3.4 为 64 位或 32 位)再分发包。

Matplotlib 依赖于 Pillow 来读取和保存 JPEG,BMP 和 TIFF 图像文件。 Matplotlib 需要 MiKTeX 和 GhostScript 来使用LaTeX渲染文本。动画模块需要 FFmpeg,avconv,mencoder 或 ImageMagick。

以下后端应该开箱即用:agg,tkagg,ps,pdf 和 svg。对于其他后端,你可能需要安装 pycairo,PyQt4,PyQt5,PySide,wxPython,PyGTK,Tornado 或 GhostScript。

TkAgg 可能是来自标准 Python shell 或 IPython 的,用于交互式的最佳后端。它被启用为官方二进制文件的默认后端。 Windows 不支持 GTK3。

PyPI 下载页面上的 Windows 轮子(* .whl)不包含测试数据或示例代码。如果你想尝试 matplotlib 源代码中的许多演示,请下载*.tar.gz文件并查看examples子目录。要运行测试套件,请将源代码发行版中的lib\matplotlib\testslib\mpl_toolkits\tests目录分别复制到sys.prefix\Lib\site-packages\matplotlibsys.prefix\Lib\site-packages\mpl_toolkits,并安装 nose,mock,Pillow,MiKTeX,GhostScript,ffmpeg,avconv,mencoder,ImageMagick 和 Inkscape。

从源码安装

如果你有兴趣为 matplotlib 开发做贡献,运行最新的源代码,或者只是想自己构建一切,从源代码构建 matplotlib 并不困难。 从 PyPI 文件页面抓取最新的tar.gz发布文件,或者如果你想开发 matplotlib 或只需要最新的 bug 修复版本,获取最新的 git 版本,请见从 git 安装

源代码遵守标准环境变量 CC,CXX,PKG_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 setup.py build
python setup.py install

我们提供与setup.py一起使用的setup.cfg文件,你可以使用它来自定义构建过程。 例如,要使用的默认后端,是否安装 matplotlib 附带的某些可选库,等等。 这个文件会对那些包装 matplotlib 的东西特别有用。

如果已经为非标准设施安装了必备组件,并需要通知 matplotlib 它们在哪里,请编辑setupext.py并将基本路径添加为sys.platformbasedir字典条目。 例如,如果某些所需库的头文件位于/some/path/include/someheader.h中,请在你的平台的basedir列表中输入/some/path

构建需求

这些是外部软件包,你需要在安装 matplotlib 之前安装它们。 如果你在 OSX 上构建,请参阅在 OSX 上构建。 如果你在 Windows 上构建,请参阅在 Windows 上构建。 如果在 Linux 上使用软件包管理器安装依赖项,则除了库本身之外,还可能需要安装开发包(查找-dev后缀)。

所需依赖

Python 2.7,3.4,3.5 或 3.6

下载 Python

NumPy 1.7.1(或更新)

Python 的数组支持(下载 NumPy

setuptools

setuptools 为 Python 包安装提供扩展

dateutil 1.1 或更新

为 Python 时间日期的处理提供扩展。如果使用了pipeasy_install或者从源码安装,安装器会尝试从 PyPI 下载并安装python_dateutil

pyparsing

需要为 matplotlib 的 mathtext 数学渲染提供支持。如果使用了pipeasy_install或者从源码安装,安装器会尝试从 PyPI 下载并安装pyparsing

libpng 1.2 (或更新)

用于加载和保存 PNG 文件(下载)。libong 需要 zlib。

pytz

用于操作时区感知的日期时间。https://pypi.python.org/pypi/pytz

FreeType 2.3 或更新

用于读取 TrueType 字体文件。如果使用了pipeasy_install或者从源码安装,安装器会尝试从预期位置定位 FreeType。如果找病毒奥,尝试安装 pkg-config,用于寻找所需非 Python 库的工具。

cycler 0.10.1 或更新

可组合的循环类,用于构造 style-cycle。

six

需要用于 Python 2 和 3 之间的兼容性。

Python 2 的依赖

functools32

需要用于 Python 2.7 上的兼容性。

subprocess32

可选,仅用于 Unix。subprocess标准库从 3.2+ 到 2.7 的 Backport。它提供了更好的错误信息和超时支持。

可选的 GUI 框架

这些是可选软件包,你可能希望安装这些软件包来使 用matplotlib 和用户界面工具包。 有关 matplotlib 可选后端和所提供功能的更多详细信息,请参阅什么是后端

tk 8.3 或更新,不包括 8.6.0 和 8.6.1

TkAgg 后端使用的 TCL/Tk 窗口控件库。

版本 8.6. 0和 8.6.1 已知有问题,当以错误的顺序关闭多个窗口时可能导致段错误。

pyqt 4.4 或更新

Qt4 控件库的 Python 包装,用于 Qt4Agg 后端。

pygtk 2.4 或更新

GTK 控件库的 Python 包装,用于 GTK 或者 GTKAgg 后端。

wxpython 2.8 或更新

wx 控件库的 Python 包装,用于 WX 或 WXAgg 后端。

可选的外部程序

ffmpeg/avconvmencoder

需要用于动画模块,将输出保存为电影格式。

ImageMagick

需要用于动画模块,能够保存 GIF 动画。

可选依赖

Pillow

如果安装了 Pillow,matplotlib 可以读取或写入大部分图像文件格式。

pkg-config

用于寻找所需非 Python 库的工具。并不是严格需要它,但是如果库和头文件不在预期位置,可以使安装更加便捷。

matplotlib 自带的所需库

agg 2.4

C++ 渲染引擎。 matplotlib 静态链接到 agg 模板源码,所以它除了 matplotlib 之外,不会影响你的系统的任何东西。

qhull 2012.1

用于计算 Delaunay 三角测量的库。

ttconv

TureType 字体工具。

在 Linux 上构建

使用你的系统包管理器来安装依赖最为简单。

如果你使用 Debian/Ubuntu,可以使用以下命令在获取需要用于构建 matplotlib 的所有依赖:

sudo apt-get build-dep python-matplotlib

如果你使用 Fedora/RedHat,你可以使用以下命令:

su -c "yum-builddep python-matplotlib"

这不会构建 matplotlib,但这会安装所需依赖。这会使从源码构建变得容易。

在 OSX 上构建

由于可以获取libpngfreetype需求(darwinports,fink,/usr/X11R6)的不同位置,不同的架构(例如 x86,ppc,universal)和不同的 OSX 版本 10.4 和 10.5),OSX 的构建情况很复杂。我们建议你使用我们对 OSX 版本所做的方式来构建:从tarballgit仓库获取源代码,并按照README.osx中的说明进行操作。

在 Windows 上构建

https://www.python.org 上发布的 Python ,使用 VS2008 编译 3.3 之前的版本,使用 VS2010 编译 3.3,并且使用 VS2015 编译 3.5 和 3.6。 建议使用相同的编译器编译 Python 扩展。

由于没有规范的 Windows 包管理器,从源代码构建freetypezliblibpng的方法被记录为matplotlib-winbuild中的构建脚本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容