Почему pip устанавливает matplotlib версии 0.91.1, когда PyPi показывает версию 1.0.0? - PullRequest
26 голосов
/ 24 августа 2010

Обновление 15 октября 2012 г.

PyPi теперь показывает matplotlib 1.1.0, поэтому эта проблема решена. Установите matplotlib через:

pip install matplotlib

устаревшая информация ниже

PyPi показывает matplotlib 1.0.0 . Однако, когда я устанавливаю matplotlib через pip в virtualenv , устанавливается версия 0.91.1.

  • Почему разница в версиях?
  • Есть ли способ pip установить matplotlib 1.0.0?

Исследования

Похоже, что запись DOAP matplotlib на PyPi указывает на правильную версию. Ниже приведена запись DOAP для справки:

<?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>

Конфигурация

  • ОС: Mac OS X 10.6.6
  • Python 2.7
  • virtualenv 1.5.1
  • пункт 0.8.1

Обновление 24 августа - 10:09

При установке с зеркала PyPi также устанавливается версия 0.91.1:

$ pip install -i http://d.pypi.python.org/simple matplotlib

Обновление 14 января 2011 г. 16:54

Несмотря на то, что matplotlib 1.0.1 был выпущен, эта проблема все еще сохраняется.

Ответы [ 4 ]

18 голосов
/ 24 августа 2010

У меня возникла такая же проблема. Я понятия не имею, почему это происходит, но у меня есть решение; используйте опцию -f в pip, чтобы указать, где найти источники matplotlib. (Это также работает в файле require.txt).

pip install -f http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0/matplotlib-1.0.0.tar.gz matplotlib
11 голосов
/ 24 августа 2010

Это происходит из-за того, что ссылка для загрузки matplotlib 1.0 в PyPI указывает на URL-адрес, который, по-видимому, не является файлом в известном формате (URL-адрес заканчивается на / download, а не на имя файла).Смотрите эту ошибку, поданную на pip .

Обходное решение oyvindio - лучший вариант, который я знаю на данный момент, пока либо pip не станет более гибким в отношении URL, либо matplotlib не исправит их ссылку PyPI.

8 голосов
/ 28 апреля 2011

Я последовал совету @ oyvindio и @ elaichi, но все еще получал версию 0.91.1 по неизвестной причине.Затем это не удалось скомпилировать (с ошибкой src/mplutils.cpp:17: error: ‘vsprintf’ was not declared in this scope):

Установка matplotlib напрямую из git работала для меня:

pip install -e git+git@github.com:matplotlib/matplotlib.git#egg=matplotlib
3 голосов
/ 17 января 2011

Совет Ойвиндио великолепен, но сначала мне нужно было установить несколько заголовков, необходимых для компиляции исходного кода matplotlib (в противном случае он отказывался работать).В Ubuntu Lucid это выглядит так:

$ sudo apt-get build-dep python-matplotlib

И только тогда можно было установить pip matplotlib:

pip install -f  http://garr.dl.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz  matplotlib
...