[Python-modules-team] Bug#928275: Pip installs with find links for local directories fails

Winston Laoh winston at gridspace.com
Wed May 1 01:54:56 BST 2019


Package: python-pip
Version: 9.0.1-2+deb9u1

When attempting to pip install using --find-links with a directory of wheel
files, this version of pip exits immediately if the python package cannot
be found in the online PyPi repository.  The correct behavior is to query
the online PyPi repository, in addition to traversing the directory passed
into --find-links which is the typical behavior of pip
https://pip.pypa.io/en/stable/reference/pip_wheel/#cmdoption-f.  In the
below example /usr/local/gridspace/gspypi contained the wheel file for
gsserializerfields.

root at bb4aecb5d6a2:/# pip install --find-links /usr/local/gridspace/gspypi
-r /etc/requirements/base/internal-requirements.txt
Collecting fasttrack (from -r
/etc/requirements/base/internal-requirements.txt (line 4))
Collecting gsserializerfields (from -r
/etc/requirements/base/internal-requirements.txt (line 5))
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in
main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line
353, in run
    wb.build(autobuilding=True)
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in
prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 554, in
_prepare_file
    require_hashes
  File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 278,
in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 465, in
find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 423, in
find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 568, in
_get_pages
    page = self._get_page(location)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 683, in
_get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 795, in
get_page
    resp.raise_for_status()
  File
"/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/models.py",
line 893, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
HTTPError: 404 Client Error: Not Found for url:
https://pypi.org/simple/gsserializerfields/

When I removed the python-pip package manually, and reinstalled a later
version of pip, the behavior was corrected.  Additionally, older
distributions which had the 9.0.1-2 version of python-pip appear to exhibit
the correct behavior as well.

I am using Debian 9.
Linux bb4aecb5d6a2 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018
x86_64 GNU/Linux
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20190430/f4b2a2b9/attachment.html>


More information about the Python-modules-team mailing list