Difference between manylinux1 vs manylinux2020 wheel files in PIP Installer
Asked Answered
U

1

9

I am facing a weird issue in Python, The Issue is cryptography-2.9.2-cp35-abi3-manylinux2010_x86_64.whl is not working on the SLES OS.

I have a CI/CD added to my repo and when I am downloading the packages from requirements.txt into local folder dist-packages. The Jenkins Slave machine runs on RedHat Linux. Hence it is downloading with this file cryptography-2.9.2-cp35-abi3-manylinux2010_x86_64.whl whereas my runtime is in SLES OS 11 this takes cryptography-2.9.2-cp35-abi3-manylinux1_x86_64.whl.

This particular dependency cryptography-2.9.2-cp35-abi3-manylinux2010_x86_64.whl is getting downloaded from RedHat and when I am re-distributing it to SLES OS, this dependency is failed with the below error.

 ERROR: Could not find a version that satisfies the requirement cryptography>=2.1.4 (from azure-identity->-r requirements.txt (line 2)) (from versions: none)
    ERROR: No matching distribution found for cryptography>=2.1.4 (from azure-identity->-r requirements.txt (line 2))

If I change the dependency name from cryptography-2.9.2-cp35-abi3-manylinux2010_x86_64.whl to cryptography-2.9.2-cp35-abi3-manylinux1_x86_64.whl it is working fine on the SLES OS machines.

When I check in the PyPI https://pypi.org/project/cryptography/#modal-close (These two files are the same in size but has different hash value)

I would like to understand the differences between manylinux1_x86_64 vs manylinux2010_x86_64 in python packages.

Thanks in Advance.

Unwish answered 14/5, 2020 at 11:58 Comment(1)
python.org/dev/peps/pep-0571Sholokhov
A
9

According this article: manylinux tag, manylinux2010 means it require pip >= 19.0

sudo python3 -m pip install --upgrade pip

may help.


The goal of the manylinux project is to provide a convenient way to distribute binary Python extensions as wheels on Linux. This effort has produced PEP 513 which is further enhanced by PEP 571 defining manylinux2010_x86_64 and manylinux2010_i686 platform tags.

╔════════════════╦══════════════════════════════════╗
║  manylinux tag ║ Client-side pip version required ║
╠════════════════╬══════════════════════════════════╣
║  manylinux2014 ║ pip >= 19.3                      ║
║  manylinux2010 ║ pip >= 19.0                      ║
║  manylinux1    ║ pip >= 8.1.0                     ║
╚════════════════╩══════════════════════════════════╝
Attaway answered 28/7, 2020 at 15:10 Comment(1)
PEP 600 has superseded 513, 571, 599. The new scheme is manylinux_${GLIBCMAJOR}_${GLIBCMINOR}_${ARCH}. Example: manylinux_2_17_x86_64.Decoder

© 2022 - 2024 — McMap. All rights reserved.