[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