How to install matplotlib with Python3.2

Solution 1:

Matplotlib supports python 3.x as of version 1.2, released in January, 2013.

To install it, have a look at the installation instructions. In general, call pip install matplotlib or use your preferred mechanism (conda, homebrew, windows installer, system package manager, etc). In some cases you may need to install additional non-python dependencies (libpng and freetype) through your system's package manager.

The answer below is left for historical reasons and as an example of installing the development version from github.


The current release of matplotlib doesn't support python3.

There's a github branch for python3 support for a couple of years now, but it hasn't been stable on anything other than linux until fairly recently. I believe that branch was recently merged back into the main branch.

If you want to use matplotlib on python3, you'll need to build from the current tip https://github.com/matplotlib/matplotlib

To build it, do something similar to the following:

git clone https://github.com/matplotlib/matplotlib
cd matplotlib
python3 setup.py build
sudo python3 setup.py install

If you don't have git installed, then you can just download a tarball of the current git tip instead: https://github.com/matplotlib/matplotlib/tarball/master

You'll need to have numpy installed for python3. (Installing it for python2 doesn't install it for python3.)

In most cases, that's all you'll need to do. For a default install, the only non-included python library is numpy. The other dependencies (e.g. libpng, freetype) are system libraries and if you can build matplotlib for python2, you already have them.

If you want a non-default install (e.g. if you want any of the non-default backends), then you'll need to copy the setup.cfg.default template to setup.cfg and edit it to match what you want. You'll probably only need to do this if you're planning to embed matplotlib in a gtk or qt application that you're writing, in which case you'll want the gtkagg or qtagg backends instead of just the default tkagg backend.

Solution 2:

just to bump @endolith's comment up to answer level, from at least uBuntu 14-04 linux onwards, matplotlib support for python3 is built-in with apt:

sudo apt-get install python3-matplotlib

should install matplotlib for python3 with the necessary dependencies.

Solution 3:

sudo apt-get build-dep python-matplotlib

This should get all the dependencies required for installing matplotlib