当PyPi显示版本1.0.0时,为什么pip安装matplotlib版本0.91.1?

Mat*_*kin 26 python pip matplotlib pypi

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>
Run Code Online (Sandbox Code Playgroud)

组态

  • 操作系统:Mac OS X 10.6.6
  • Python 2.7
  • virtualenv 1.5.1
  • 点0.8.1

更新24-Aug-10 7:09 AM

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

$ pip install -i http://d.pypi.python.org/simple matplotlib
Run Code Online (Sandbox Code Playgroud)

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

尽管matplotlib 1.0.1已经发布,但这个问题仍然存在.

oyv*_*dio 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
Run Code Online (Sandbox Code Playgroud)


Car*_*yer 11

发生这种情况是因为PyPI上的matplotlib 1.0的下载链接指向一个URL,该URL似乎不是一个已知格式的文件(URL以/ download而不是文件名结尾).看到pip上提交的这个bug.

oyvindio的解决方法是我现在所知道的最佳选择,直到pip对URL更加灵活或者matplotlib修复了他们的PyPI链接.


edw*_*ard 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
Run Code Online (Sandbox Code Playgroud)

  • 与选择的响应相比,此解决方案将为您提供最新代码而不是1.0.0 (5认同)