Подтвердить что ты не робот

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

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

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

pip install matplotlib

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

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

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

Research

Похоже, что matplotlib DOAP-запись на 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
  • pip 0.8.1

Обновление 24-Aug-10 7:09 AM

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

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

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

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

4b9b3361

Ответ 1

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

pip install -f http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0/matplotlib-1.0.0.tar.gz matplotlib

Ответ 2

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

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

Ответ 3

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

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

pip install -e [email protected]:matplotlib/matplotlib.git#egg=matplotlib

Ответ 4

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

$ sudo apt-get build-dep python-matplotlib

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

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