[Distutils] warning about potential problem for wheels

Chris Barker chris.barker at noaa.gov
Tue Oct 13 18:59:05 CEST 2015


On Sun, Oct 11, 2015 at 11:18 AM, Steve Dower <steve.dower at python.org>
wrote:

>  And it's also not binding on redistributors or package builders, who are
> free to add more restrictive requirements.
>

not binding, but presumably a simple:

setup.py build

with distutils (or setuptools) will NOT use SSE2 in this case? That's the
beauty of distutils of course, that is builds extensions with all the same
settings as the host python.

So even is SSE2 provides little for Python itself, in the usual case, we'll
see performance hits n compiled extensions that are not compiled by
particularly smart people.

Also -- this thread started with "I can build Python3 myself, but now I
can't install arbitrary binary wheels" -- if the goal is to fix that, then
we don't WANT people tweaking things to build their wheels with SSE2 -- it
would just get uglier.

I certanly thought the "official" policy was that binary wheels put up on
PyPi be (fully) compatible with the python.org build(s).

What I'm getting at is that a decision to not use SSE2 in the main python
build is a decision to not use it for any PyPi packages -- which could be a
Bad Thing.


> As far as identifying these sort of requirements in packages, I don't
> think they really make sense as part of a platform tag as a non-SSE build
> is fully compatible with an SSE build, but as part of version ordering it
> would be nice to be able to prefer certain tagged builds without excluding
> ones without the tag (e.g. if my platform is win32_sse2 and there's only a
> win32 tagged build, I still want it - how we formalize this is probably
> very complex though.
>

yeah, that's the trick with trying to shoehorn dependencies liek this into
platform tags.

But even if so do we WANT to now be supporting 4 Windows platforms?

win32
win32_sse2
win64
win64_sse2

and then, what about sse3, etc???

My thoughts -- pick one, and either:

* SSE2 is a requirement for python3.5 on Windows
  - then schools and the like can build their own Python3.5, AND their own
package repository
    - on the one hand, institutions should be able to do this
    - on the other hand, the same institutions that NEED to do this (nes
with old hardware),. are probably short on other resources, like admins
savvy enough to be setting up build systems...

* SSE2 is NOT used for the Windows builds.
  - then all packages on PyPi should also not use SSE2
  - Other organizations, like Anaconda, Enthought, etc can build their own
python and dependent packages can be build against that.
    - At least these folks DO have the resources to support that.

-CHB






> Also, my platform tag is probably 100 chars long with everything I may
> want to represent...)
>
> Cheers,
> Steve
>
> Top-posted from my Windows Phone
> ------------------------------
> From: Oscar Benjamin <oscar.j.benjamin at gmail.com>
> Sent: ‎10/‎11/‎2015 10:43
> To: Antoine Pitrou <solipsis at pitrou.net>; Distutils-Sig at python.org
> Subject: Re: [Distutils] warning about potential problem for wheels
>
> On Sun, 11 Oct 2015 17:44 Antoine Pitrou <solipsis at pitrou.net> wrote:
>
> On Sun, 11 Oct 2015 08:07:30 -0700
> Steve Dower <steve.dower at python.org> wrote:
> >
> > This does only affect 32-bit builds, so now I'm thinking about the
> > possibility of treating those as highly compatible while the 64-bit
> > ones get better performance treatment, though I'm not sure how that
> > could actually play out. It may help remove some of the questions
> > about which one to use though.
>
> That sounds reasonable to me. I don't know Windows very much, but are
> there still many people using 32-bit Windows these days (on x86, I
> mean)?
>
>
>
> I don't know but I think it makes sense to follow Windows' lead. So if 3.5
> supports Vista and Vista doesn't require SSE2 then CPython shouldn't
> either. If 3.6 or whatever drops support for Vista and if Windows 7
> requires SSE2 then CPython can require it too. I assume this what happens
> with the OSX binaries.
>
> Note that my recently retired computer was 64 bit and had SSE but didn't
> have SSE2 (I'm fairly sure - CPU was some budget AMD model). Also after
> SSE2 we have SSE3 etc and I've seen no indication that x86-64 manufacturers
> are going to stop adding new instructions. So this general issue isn't
> limited to 32 bit hardware and won't be solved by special casing that. I
> think it makes sense to have a general policy for architectures that will
> be supported by the official build in future.
>
> --
> Oscar
>
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> https://mail.python.org/mailman/listinfo/distutils-sig
>
>


-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20151013/08c8c7ee/attachment.html>


More information about the Distutils-SIG mailing list