
On Thu, Mar 6, 2014 at 1:14 PM, Matthew Brett <matthew.brett@gmail.com>wrote:
I believe that the wheels built against python.org python will in any case work with system python.
IIUC, the system python is built agains an up-to-date SDK. so it wouldn't run on an older OS version -- and why would anyone want it to -- it comes with the system. Our wheels are built with the 10.6 SDK -- OS-X is supposed to be backward compatible, so 10.6 SDK code will run on newer OS versions -- but could there be any clashes if a shared lib is linked in that uses a different SDK than the host application? I have no idea if this is expected to be robust -- though the linker doesn't given an error -- so maybe. I've just tested the wheel I built [1] on a 10.7 machine in a system
python virtualenv - all tests pass.
Good start.
In any case, unless we do something extra, the built wheel won't install into system python by default, because the wheel name can't match the name system python expects. Here I tested the situation I'd expect when the wheel is on pypi, by downloading the wheel to the current directory of a 10.7 machine and:
pip install --pre --find-links . numpy
pip doesn't accept the wheel and starts a source install. This is because of the platform tag [2]. System python expects a platform tag that matches the result of `distutils.util.get_platform()`. The python.org builds always have `10_6_intel` for this. On a 10.7 machine:
System python has the actual OSX version. On 10.7 again:
$ /usr/bin/python -c "import distutils.util; print(distutils.util.get_platform())" macosx-10.7-intel
interesting -- the "intel" part of that means is SHOULD be a universal binary with 32 and 64 bit in there. And on my 10.7 system, it is. So maybe this should work. In fact, if I rename my wheel from
`numpy-1.8.1rc1-cp27-none-macosx_10_6_intel.whl` to `numpy-1.8.1rc1-cp27-none-macosx_10_6_intel.macosx_10_7_intel.whl`, system python will pick up this wheel, but obviously this could get boring for lots of OSX versions, and in any case, it's not really our target market for the wheels. [4]
Exactly, though if we can support it easily, maybe good to do. Min RK actually has a pull request in to relax this OSX version
specificity [3] because the wheels should be (and seem to be) interoperable, but the take-home is that we're not likely to run into trouble with system python.
If we relax things too much, will we also get homebrew and macports and built-it-myself pythons, and will they work? -Chris -- 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@noaa.gov