[Distutils] Plans for binary wheels, and PyPi and OS-X

Daniel Holth dholth at gmail.com
Thu Oct 31 17:49:28 CET 2013


On Thu, Oct 31, 2013 at 10:26 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> On 31 October 2013 23:38, Ronald Oussoren <ronaldoussoren at mac.com> wrote:
>>
>> On 21 Oct, 2013, at 20:52, Donald Stufft <donald at stufft.io> wrote:
>>
>>>
>>> On Oct 21, 2013, at 1:02 PM, Chris Barker <chris.barker at noaa.gov> wrote:
>>>
>>>> On Fri, Oct 18, 2013 at 6:22 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>>>>>> -- it would be very useful if folks could easily
>>>>>> get binary wheels for OS-X
>>>>>
>>>>> We do plan to support it, but the pip devs uncovered a hole in the current
>>>>> wheel spec that means it generates the same filename on *nix systems for
>>>>> wheels that need to have different names for the download side of things to
>>>>> work properly
>>>>
>>>> THanks -- but really? don't OS-X wheels get:
>>>>
>>>> macosx_10_6_intel
>>>>
>>>> or some such tacked on? Where does that go wrong?
>>>
>>> Homebrew, Mac Ports, Fink. That would work OK if nobody ever installed things
>>> that the system didn't provide.
>>
>> I don't understand this, what would break? Binary wheels that reference shared libraries that aren't included in the wheel (or a default system install) won't work, but that's also true on Windows.
>
> The main difference I see is that on Windows, the ABI for the
> *CPython* shared library is significantly less likely to vary across
> machines.
>
> By contrast, it's relatively easy to change the ABI on *nix systems,
> as it depends on what you pass as configure options.

I'm sure you could build your own broken Windows Python, but who
bothers? 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.

> 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.


More information about the Distutils-SIG mailing list