Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does pip install matplotlib version 0.91.1 when PyPi shows version 1.0.0?

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.

like image 554
Matthew Rankin Avatar asked Aug 24 '10 10:08

Matthew Rankin


People also ask

Which version of Python has matplotlib?

Python and NumPy Matplotlib supports: All minor versions of Python released 42 months prior to the project, and at minimum the two latest minor versions. All minor versions of numpy released in the 24 months prior to the project, and at minimum the last three minor versions.

How do I make sure matplotlib installed?

If you are using the Python version that comes with your Linux distribution, you can install Matplotlib via your package manager, e.g.: Debian / Ubuntu: sudo apt-get install python3-matplotlib. Fedora: sudo dnf install python3-matplotlib. Red Hat: sudo yum install python3-matplotlib.

Does Python 3.7 support matplotlib?

Matplotlib is a python library that allows you to represent your data visually. It's particularly useful for data science and machine learning developers.

What is pip install matplotlib?

Matplotlib can be installed using pip. The following command is run in the command prompt to install Matplotlib. pip install matplotlib. This command will start downloading and installing packages related to the matplotlib library. Once done, the message of successful installation will be displayed.


4 Answers

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

pip install -f http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0/matplotlib-1.0.0.tar.gz matplotlib 
like image 86
oyvindio Avatar answered Oct 10 '22 16:10

oyvindio


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.

like image 38
Carl Meyer Avatar answered Oct 10 '22 16:10

Carl Meyer


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:

pip install -e [email protected]:matplotlib/matplotlib.git#egg=matplotlib
like image 22
edward Avatar answered Oct 10 '22 18:10

edward


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:

$ sudo apt-get build-dep python-matplotlib

And just then it was possible to pip install matplotlib:

pip install -f  http://garr.dl.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz  matplotlib
like image 20
elaichi Avatar answered Oct 10 '22 18:10

elaichi