[Distutils] PEP 513: A Platform Tag for Portable Linux Built Distributions Version

Nathaniel Smith njs at pobox.com
Wed Jan 27 18:19:43 EST 2016


On Wed, Jan 27, 2016 at 2:47 PM, Xavier Fernandez
<xav.fernandez at gmail.com> wrote:
>
> Well, the way I read the pep is that manylinux1 is a policy and also the name of a wheel platform tag.
> The policy has nothing special except the fact that it is the first one. I think everyone agrees that if this successfully enables linux wheels, there is no reason we won't have any other tags, maybe more focused on some subset of libraries.
> I don't think we want to have a _tag_module for each new type of tag.
>
> I personally like:
> sys.supported_platform_tags = ["manylinux2_x86_64"]
> sys.unsupported_platform_tags = set(["manylinux1_x86_64"])
> but the platform module seems even more appropriate than the sys one.
>
> But this still needs to touch the standard library.
>
> So maybe the simplest solution would be to leave this to pip config.
> I personally liked the idea of this PR: https://github.com/pypa/pip/pull/3092 that would gives the possibility from linux to "pip download lxml --platform=win-amd64" in order to download win-amd64 compatible wheels.
> We could imagine a similar option for "pip install --platforms=manylinux2,manylinux1 lxml".
>
> pip already looks for its options in several places so maybe the OS distribution could drop the compatibility information in one of these places (like /etc/pip.conf...).

I think we should distinguish between the *information* that a given
python environment is marked as being manylinux1
compatible/incompatible (which should be scoped to an individual
environment and should be controllable by distributions and in
principle is useful to other package managers besides pip), versus the
*policy* that pip applies (which can take this information into
account along with other factors including ad hoc configuration,
user-supplied override options, whatever). Here I'm just trying to
focus on the first part :-).

I also like the idea of having a more central place for configuring
multiple platform tags for distro-specific tags or
library-subset-focused platform tags, defining preference orders, on
them, etc., but I really feel like this is a complex enough problem
that it needs to be its own PEP. And, well, personally I would guess
that there's at least a 50/50 chance that these new and more complex
platform tags will never actually exist. I don't have anything against
them, but given that no-one's done the work yet and that manylinux
will solve the most urgent part of the problem... I'd rather not
over-engineer now for a future that might never come :-).

-n

-- 
Nathaniel J. Smith -- https://vorpus.org


More information about the Distutils-SIG mailing list