[Distutils] Working toward Linux wheel support
wes.turner at gmail.com
Thu Aug 13 21:43:44 CEST 2015
On Aug 13, 2015 2:31 PM, "Leonardo Rochael Almeida" <leorochael at gmail.com>
> On 13 August 2015 at 11:07, Nate Coraor <nate at bx.psu.edu> wrote:
>> On Wed, Aug 12, 2015 at 9:05 PM, Nathaniel Smith <njs at pobox.com> wrote:
>>> On Aug 12, 2015 13:57, "Nate Coraor" <nate at bx.psu.edu> wrote:
>>> > Hello all,
>>> > I've implemented the wheel side of Nick's suggestion from very early
in this thread to support a vendor-providable binary-compatibility.cfg.
>>> > https://bitbucket.org/pypa/wheel/pull-request/54/
>>> > If this is acceptable, I'll add support for it to the pip side. What
else should be implemented at this stage to get the PR accepted?
>>> From my reading of what the Enthought and Continuum folks were saying
about how they are successfully distributing binaries across different
distributions, it sounds like the additional piece that would take this
from a interesting experiment to basically-immediately-usable would be to
teach pip that if no binary-compatibility.cfg is provided, then it should
assume by default that the compatible systems whose wheels should be
installed are: (1) the current system's exact tag,
>> This should already be the case - the default tag will no longer be
-linux_x86_64, it'd be linux_x86_64_distro_version.
>>> (2) the special hard-coded tag "centos5". (That's what everyone
actually uses in practice, right?)
>> The idea here is that we should attempt to install centos5 wheels if
more specific wheels for the platform aren't available?
> Just my opinion, but although I'm +1 on Nate's efforts, I'm -1 on both
the standard behavior for installation being the exact platform tag, and an
automatic fallback to cento5.
> IMO, on Linux, the default should always be to opt in to the desired
> We could make it so that the word `default` inside
`binary-compatibility.cfg` means an exact match on the distro version, so
that we could simplify the documentation.
> But I don't want to upgrade to pip and suddenly find myself installing
binary wheels compiled by whomever for whatever platform I have no control
with, even assuming the best of the package builders intentions.
> And I certainly don't want centos5 wheels accidentally installed on my
ubuntu servers unless I very specifically asked for them.
> The tiny pain inflicted by telling users to add a one-line text file in a
very well known location (or two lines, for the added centos5), so that
they can get the benefit of binary wheels on linux, is very small compared
to the pain of repeatable install scripts suddenly behaving differently and
installing binary wheels in systems that were prepared to pay the price of
source installs, including the setting of build environment variables that
correctly tweaked their build process.
Could/should this (repeatable) build configuration be specified in a JSON
What's the easiest way to build for all of these platforms? Tox w/
> Distutils-SIG maillist - Distutils-SIG at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Distutils-SIG