Почему 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 был выпущен, этот вопрос по-прежнему сохраняется.
Ответы
Ответ 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