On Oct 31, 2013, at 7:25 PM, Chris Barker <chris.bar...@noaa.gov> wrote:

> On Thu, Oct 31, 2013 at 9:49 AM, Daniel Holth <dho...@gmail.com> wrote:
> I'm sure you could build your own broken Windows Python, but who
> bothers?
> 
> As long as we are clear that we are talking about a social difference here, 
> not a technical one...
> 
> IMO it pretty much boils down to the fact that on Windows you
> are probably using the python.org version of Python and not linking
> with random shared libraries from C:\Program Files\, but on Linux you
> are probably using one of a few dozen distro x distro-release Pythons
> AND your extension probably dynamically links to some other things
> your specific distro provides AND maybe you are depending on some
> versioned symbols in glibc oh the horror.
> 
> On OS X I would hope you are uploading only wheels built with
> python.org-Python but maybe you aren't, everyone has their
> preferences.
> 
> yes, they do -- but what is the target audience here? yes, a lot of folks use 
> macports, homebrew etc, fewer, but I'm sure some, build their own Python from 
> scratch -- but these are NOT the people that we want binary wheels for -- 
> they don't want them anyway.
> 
> The folks that we want to provide binary wheels for are NOT going to be 
> building their own esoteric python, really, they are not.
> 
> The MacPython community has a long standing tradition of building binaries 
> (if at all) that are compatible with the python.org builds (and secondarily 
> with the Apple-supplied Python) -- that is what I'd like to see supported by 
> PyPi -- just like Windows....
> 
> Sure, someone could upload some oddly-built binary wheel to PyPi -- then it 
> would not work for most users, and they would get complaints and hopefully 
> fix it -- just like uploading a package with any other kind of bug in it.
> 
> It is kind of a pain to build a truly portable binary package (when it 
> depends on third-party compiled libs), but there is a small but committed 
> group of folks doing that already -- let's make it easier to get stuff out 
> there.
> 
> > Will a C extension built with Homebrew Python work with the Python Mac
> > OS X installer from python.org? Probably, but given how painful ABI
> > mismatches with shared libraries can be to debug, "probably" doesn't
> > cut it until someone has the chance to thoroughly review the potential
> > for problems.
> 
> I disagree:
> 
> 1) I don't care if homebrew built extensions work with other pythons -- you 
> want to build with homebrew, create a homebrew recipe. -- there should be a 
> policy about how binary packages posted on PyPi should be built.

Well it was more of we didn’t know, so we played it safe. I don’t personally 
have a Python.org Installer Python (mine come from Homebrew) and I know others 
use the System Python. My knowledge of compiled stuff is pretty slim tbh :)

> 
> 2) We're never going to find out what the problems are until we give it a try.
> 
> Fundamentally, I disagree with the premise here: "If we can't guarantee that 
> anything anyone uploads will work for everyone, we shouldn't allow it" -- 
> that's an unattainable goal.

It was less about guarantee and more about “Can we be reasonably sure this is 
going to work for most people”.

> 
> If we do want a more fool-proof approach, then the name auto-generated by 
> wheel should include something that means "python.org-build" only if built 
> with the python.org build.
> 
> And I suppose we could try to put check code in there to make sure that 
> extensions aren't linked to outside libs. Actually, that would be a handy 
> utility to have, even if it didn't enforce anything. (and by the way, it's 
> rea;lly easy to build a binary for Windows that's linked to an external dll 
> also -- we expect package builders to be careful with that...)
> 
> 
> I was told a wheel built on Ubuntu probably won’t work on Linux, so I shut 
> off Linux Wheels, at the same time I asked about Windows and OSX wheels, the 
> answers I got from people were they would generally just work on Windows, and 
> nobody gave me a straight answer on OSX.
> 
> Sorry we weren't out there answering!

It’s not your fault! We realized this right before the pip release and sort of 
quickly added it after a quick check to see if anyone could tell us one way or 
another.

> 
> Linux is a different story -- not only are there a lot of variations out 
> there, but there also is no obvious "standard" one could point to that we'd 
> expect folks to build binary wheels for.
> 
> OS-X has (to much) variety  though it is less than Linux, and more to the 
> point, there is a standard Python out there -- the python.org builds. And 
> there is a tradition of building binaries for that standard. AFAIK, it is 
> pretty much the ONLY build of Python that package maintainers support with 
> binaries (if they support anything). 
> 
> > If you build a Wheel with Homebrew Python will it work on the official OSX 
> > installers? What if I have a library installed from Homebrew?
> 
> probably not, but again, I don't care -- that's not what binary wheels on 
> Python would be for. And more to the point -- this is a policy question -- 
> don't upload a binary wheel to pypi that depends on homebrew (or anything 
> else that Apple didn't provide)
> 
> Essentially trying to figure out how likely it is that with the existing tags 
> a wheel is going to work if we select based on them.-Chris
> 
> One thing I'm not clear on -- if you do :
> 
> pip install something
> 
> will pip preferentially select a binary wheel (if enabled on pypi?) -- that 
> may be an issue as folks will surely try to pip install stuff with homebrew, 
> macports, etc. pythons (though the wheels are more likely to work in that 
> direction.

Right this second it would require opting in via —use-wheel to get wheel 
installs from a simple ``pip install something`` but there’s discussion around 
making wheels enabled by default.

> 
> -Chris




-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to