On Wed, Feb 27, 2013 at 12:23 PM, Vinay Sajip <[email protected]> wrote:
> I have a question about the compatibility tags used by Wheel (PEP 425) and 
> their
> completeness on Windows. IIUC, it may not be enough to consider the platform 
> and
> the Python ABI (determined by the Python version). In addition, on Windows, we
> may have to consider the version of compiler used to build a distribution, as 
> it
> may not be compatible with a particular Python (even if platform and ABI 
> match)
> if the Python was built with a different version of Visual Studio from that 
> used
> to build the extension. I believe this is to do with the version of 
> msvcrXX.dll,
> which is tied to the compiler version: both the Python and the extension need
> to link to the same Microsoft C run-time DLL.
>
> If I'm wrong about this, can someone please explain what my mistake is? If I'm
> right, do we perhaps need to amend the platform tag to include the compiler 
> used?
> Currently, it's just distutils.util.get_platform().replace('-', '_').

That is a concern, there seem to be a nearly unlimited number of ways
that binaries can be incompatible with your platform, I believe some
numpy stuff includes the version of a numeric library in their
(non-wheel) system.

I designed that assuming PyPI would be expected to host binaries
compatible with the official Windows release of Python, rather than
including the Visual Studio version in the wheel tags themselves.
Maybe you'd have a separate build server / binary package service for
a popular but incompatible Windows Python.

However on mac the OS X version (important for binary compat) is
already included in that tag.

Daniel
_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to