#165 Spurious "No distributions matching the version" error

closed
nobody
None
5
2012-03-01
2012-03-01
Kevin Murphy
No

I often (many times over many months) have the experience when downloading fresh updates via pip with a package version specified (e.g. serrano==0.9.1b2) that pip reports "No distributions matching the version", even though when I go to the PyPI web site, the package is shown with that version. For instance, the following three packages were updated on PyPI yesterday, but pip can't download them: serrano==0.9.1b2, avocado==0.9.1b1, cilantro==0.9.1b10. Attached is the relevant section of pip.log for the avocado package.

Discussion

  • Kevin Murphy
    Kevin Murphy
    2012-03-01

    pip log for a failed download of package avocado==0.9.1b1

     
    Attachments
  • There is a chance that pip was using an outdated mirror. It needs to, but (AFAIK) doesn't check whether a mirror is current before using it. Not sure how this would show up in the log files; I wish that it would report the actual mirror that was used, but it may not. Please report this to the pip authors.

    Otherwise, I can't guess why this might happen, and I'm unable to reproduce it.

     
    • status: open --> closed
     
  • Kevin Murphy
    Kevin Murphy
    2012-03-01

    Martin, thanks for your prompt response. However, see my comments:

    1. Redbot says that the response to http://pypi.python.org/simple/avocado/ allows all caches to store it and allows caches to assign their own freshness lifetime. Wouldn't this be a problem if my institution's caching proxy decides to store this page for a long time? Should the /simple/project pages use different HTTP headers to be maximally compatible with the proxies out there?

    2. Also, I don't understand why the initial query seems to be useless: http://pypi.python.org/simple/avocado/0.9.1b1 redirects to http://pypi.python.org/simple/avocado/0.9.1b1/, which gives a 404. This forces pip to back up to http://pypi.python.org/simple/avocado/ and start scanning the returned links, which causes me to run into what I believe is the caching proxy issue.

    3. I don't think pip uses mirrors unless you tell it to, which I am not doing (no ~/.pip/pip.conf, no --user-mirrors switch).