Update Oct 15, 2012
PyPi is now showing matplotlib at 1.1.0 so this issue is resolved. Install matplotlib via:
pip install matplotlib
Outdated Information Below
PyPi shows matplotlib 1.0.0. However, when I install matplotlib via pip into a virtualenv, version 0.91.1 is installed.
- Why the difference in versions?
- Is there a way to pip install matplotlib 1.0.0?
Research
It appears that matplotlib's DOAP record on PyPi is pointing to the correct version. Below is the DOAP record for reference:
<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>matplotlib</name>
<shortdesc>Python plotting package</shortdesc>
<description>matplotlib strives to produce publication quality 2D graphics
for interactive graphing, scientific publishing, user interface
development and web application servers targeting multiple user
interfaces and hardcopy output formats. There is a 'pylab' mode
which emulates matlab graphics</description>
<download-page>https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0</download-page>
<homepage rdf:resource="http://matplotlib.sourceforge.net" />
<maintainer><foaf:Person><foaf:name>John D. Hunter</foaf:name>
<foaf:mbox_sha1sum>4b099b4a7f50a1f39642ce59c2053c00d4de6416</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>1.0.0</revision></Version></release>
</Project></rdf:RDF>
Configuration
- OS: Mac OS X 10.6.6
- Python 2.7
- virtualenv 1.5.1
- pip 0.8.1
Update 24-Aug-10 7:09 AM
Installing from the PyPi mirror also installs version 0.91.1:
$ pip install -i http://d.pypi.python.org/simple matplotlib
Update January 14, 2011 4:54 PM
Even though matplotlib 1.0.1 has been release, this issue still persists.
I've experienced the same problem. I have no idea why it happens, but I do have a fix; use the -f option in pip to tell it where to find the matplotlib sources. (This works in requirements.txt as well).
I followed @oyvindio's and @elaichi's advice, but was still getting version 0.91.1, for some unknown reason. This was then failing to compile (with the error
src/mplutils.cpp:17: error: ‘vsprintf’ was not declared in this scope
):Installing matplotlib directly from git worked for me:
Oyvindio's advice is great but first I had to install some headers needed to source-compile matplotlib (otherwise it refused to work). In Ubuntu Lucid, it goes like this:
And just then it was possible to pip install matplotlib:
This happens because the download link for matplotlib 1.0 on PyPI points to a URL that doesn't appear to pip to be a file in a known format (the URL ends with /download rather than a filename). See this bug filed on pip.
oyvindio's workaround is the best option I'm aware of for now, until either pip gets more flexible about URLs or matplotlib fixes their PyPI link.