The basic installation format for users who install packages via pip
is the wheel format. Wheel names are composed of four parts: a package-name-and-version tag (which can be further broken down), a Python tag, an ABI tag, and a platform tag. More information on the tags can be found in PEP 425. So a package like NumPy will be available on PyPI as numpy-1.19.2-cp36-cp36m-win_amd64.whl
for 64-bit windows and numpy-1.19.2-cp36-cp36m-macosx_10_9_x86_64.whl
for macOS. Note that only the plaform tag win_amd64
or macosx_10_9_x86_64
differs.
But what about Linux? There is no single, vendor controlled, "Linux platform" e.g., Ubuntu, RedHat, Fedora, Debian, FreeBSD all package software at slightly different versions. What most Linux distributions do have in common is the glibc runtime library, and a smattering of various additional system libraries. So it is possible to define a least common denominator (LCD) of software expected to be on a Linux platform (exceptions apply, e.g. non-glibc distributions).
The decision to converge on a LCD common platform gave birth to the manylinux1 standard. Going back to our example, numpy
from Planet SciPy
read more
No comments:
Post a Comment