26

2012 年 10 月 15 日更新

PyPi 现在在 1.1.0 显示 matplotlib,所以这个问题得到了解决。通过以下方式安装 matplotlib:

pip install matplotlib

下面是过时的信息

PyPi显示matplotlib 1.0.0。但是,当我通过pip将 matplotlib 安装到virtualenv时,会安装 0.91.1 版本。

  • 为什么版本不同?
  • 有没有办法 pip install matplotlib 1.0.0?

研究

看来matplotlib 在 PyPi 上的 DOAP 记录指向正确的版本。以下是 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
  • 蟒蛇 2.7
  • 虚拟环境 1.5.1
  • 点 0.8.1

2010 年 8 月 24 日上午 7:09 更新

从 PyPi 镜像安装也会安装 0.91.1 版本:

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

更新 2011 年 1 月 14 日下午 4:54

即使matplotlib 1.0.1已经发布,这个问题仍然存在。

4

4 回答 4

18

我遇到过同样的问题。我不知道为什么会这样,但我确实有解决办法;使用 pip 中的 -f 选项告诉它在哪里可以找到 matplotlib 源。(这也适用于 requirements.txt)。

pip install -f http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0/matplotlib-1.0.0.tar.gz matplotlib
于 2010-08-24T12:20:08.613 回答
11

发生这种情况是因为 PyPI 上 matplotlib 1.0 的下载链接指向的 URL 似乎不是已知格式的文件(该 URL 以 /download 而不是文件名结尾)。请参阅pip 上提交的此错误。

oyvindio 的解决方法是我目前所知道的最佳选择,直到 pip 对 URL 更加灵活或 matplotlib 修复其 PyPI 链接。

于 2010-08-24T16:16:44.273 回答
8

我遵循了@oyvindio 和@elaichi 的建议,但由于某种未知原因,我仍然获得了 0.91.1 版本。然后编译失败(出现错误src/mplutils.cpp:17: error: ‘vsprintf’ was not declared in this scope):

直接从 git 安装 matplotlib 对我有用:

pip install -e git+git@github.com:matplotlib/matplotlib.git#egg=matplotlib
于 2011-04-28T02:32:40.323 回答
3

Oyvindio 的建议很棒,但首先我必须安装一些源代码编译 matplotlib 所需的头文件(否则它拒绝工作)。在 Ubuntu Lucid 中,它是这样的:

$ sudo apt-get build-dep python-matplotlib

就在那时,可以 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
于 2011-01-17T06:45:37.340 回答