pythonnumpymatplotlibpython-3.2

How to install matplotlib


I installed python3.2 in ubuntu (the default edition is not deleted), and I follow the steps in here

However when i use

python3.2 setup.py install

I got:

 "error: command 'gcc' failed with exit status 1",
"src/ft2font.cpp:2224:29: error: ‘Int’ is not a member of ‘Py’"

And when I use sudo apt-get install python-matplotlib I can use matplot in python2.x, while I still can not use it with python3.2 How can I install matplot in python3.2 ?


Solution

  • 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.