
Hi, On Thu, Mar 6, 2014 at 12:36 PM, Chris Barker <chris.barker@noaa.gov> wrote:
On Thu, Mar 6, 2014 at 11:38 AM, Matthew Brett <matthew.brett@gmail.com> wrote:
pypi is accepting wheels:
http://pythonwheels.com/ https://pypi.python.org/pypi/pyzmq/14.0.1
Chris B - any comments here?
It's my understanding that pypi accepts wheels built for the python.org releases -- and pip should be able to get the right ones in that case.
As far as I know, it's up to the project managers to decide what to put up there.
Also, I _think_ that macports, homebrew, and hopefully the Apple builds, won't match to the python.org names, so people won't accidentally get a mis-matched binary wheel.
I believe that the wheels built against python.org python will in any case work with system python. I've just tested the wheel I built [1] on a 10.7 machine in a system python virtualenv - all tests pass. 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: $ /Library/Frameworks/Python.framework/Versions/2.7/bin/python -c "import distutils.util; print(distutils.util.get_platform())" macosx-10.6-intel $ /Library/Frameworks/Python.framework/Versions/3.3/bin/python3 -c "import distutils.util; print(distutils.util.get_platform())" macosx-10.6-intel 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 On 10.9: $ /usr/bin/python -c "import distutils.util; print(distutils.util.get_platform())" macosx-10.9-intel 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] 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. Cheers, Matthew [1] http://nipy.bic.berkeley.edu/numpy-dist/numpy-1.8.1rc1-cp27-none-macosx_10_6... [2] http://legacy.python.org/dev/peps/pep-0425/ [3] https://github.com/pypa/pip/pull/1465 [4] http://legacy.python.org/dev/peps/pep-0425/#compressed-tag-sets