[Python-modules-team] Bug#947069: pip does not handle manylinux2010 tag (PEP571)

Gabriel Corona gabriel.corona at enst-bretagne.fr
Fri Dec 20 12:27:54 GMT 2019


Package: python3-pip
Version: 18.1-5
Severity: normal

Dear Maintainer,

The pip package as installed by python3-pip refuses to install
manylinux2010 wheels (see PEP 571).

Example :

$ /usr/bin/python3.7m -m venv test.venv && . ./test.venv/bin/activate && 
pip install -vvv tensorflow==2.0.0
[...]
     Skipping link 
https://files.pythonhosted.org/packages/87/ad/27b0b8b7337b054ce7f1d132ab446cf33b588a011ce11e61758d3891f63d/tensorflow-2.1.0rc0-cp37-cp37m-manylinux2010_x86_64.whl#sha256=f70d73e4b1b767f0707ac4eb4b76503ab20cd8944022de26e502d4108f5603e7 
(from https://pypi.org/simple/tensorflow/); it is not compatible with 
this Python
[...]
No matching distribution found for tensorflow==2.0.0
Exception information:
Traceback (most recent call last):
   File 
"/home/johndoe/temp/test.venv/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", 
line 143, in main
     status = self.run(options, args)
   File 
"/home/johndoe/temp/test.venv/lib/python3.7/site-packages/pip/_internal/commands/install.py", 
line 338, in run
     resolver.resolve(requirement_set)
   File 
"/home/johndoe/temp/test.venv/lib/python3.7/site-packages/pip/_internal/resolve.py", 
line 102, in resolve
     self._resolve_one(requirement_set, req)
   File 
"/home/johndoe/temp/test.venv/lib/python3.7/site-packages/pip/_internal/resolve.py", 
line 256, in _resolve_one
     abstract_dist = self._get_abstract_dist_for(req_to_install)
   File 
"/home/johndoe/temp/test.venv/lib/python3.7/site-packages/pip/_internal/resolve.py", 
line 209, in _get_abstract_dist_for
     self.require_hashes
   File 
"/home/johndoe/temp/test.venv/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", 
line 218, in prepare_linked_requirement
     req.populate_link(finder, upgrade_allowed, require_hashes)
   File 
"/home/johndoe/temp/test.venv/lib/python3.7/site-packages/pip/_internal/req/req_install.py", 
line 164, in populate_link
     self.link = finder.find_requirement(self, upgrade)
   File 
"/home/johndoe/temp/test.venv/lib/python3.7/site-packages/pip/_internal/index.py", 
line 621, in find_requirement
     'No matching distribution found for %s' % req
pip._internal.exceptions.DistributionNotFound: No matching distribution 
found for tensorflow==2.0.0

The reason is that it does not know it is compatible with this
platform tag. By downloading the package manually and renaming it,
you can actually install the package:

$ mv tensorflow-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl 
tensorflow-2.0.0-cp37-cp37m-manylinux1_x86_64.whl
$ pip install tensorflow-2.0.0-cp37-cp37m-manylinux1_x86_64.whl

Updating the version of pip in the venv fixes the issue:

$ pip install pip==19.3.1

Creating the virtual environment with virtualenv fixes the problem as
well because it installs a recent version of pip.

Patching python3-pip in order to support the manylinux2010 tag would
probably be very helpful:

- arches = [arch.replace('linux', 'manylinux1'), arch]
+ arches = [arch.replace('linux', 'manylinux1'), arch.replace('linux', 
'manylinux2010'), arch]


-- System Information:
Debian Release: bullseye/sid
   APT prefers stable-updates
   APT policy: (500, 'stable-updates'), (500, 'testing'), (500, 
'stable'), (90, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.3.0-3-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8), 
LANGUAGE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages python3-pip depends on:
ii  ca-certificates    20190110
ii  python-pip-whl     18.1-5
ii  python3            3.7.5-1
ii  python3-distutils  3.8.0-1

Versions of packages python3-pip recommends:
ii  build-essential     12.8
ii  python3-dev         3.7.5-1
ii  python3-setuptools  41.2.0-1
ii  python3-wheel       0.33.6-2

python3-pip suggests no packages.

-- no debconf information



More information about the Python-modules-team mailing list