[Numpy-discussion] distributing wheels & SSE/superpack options

David Cournapeau cournape at gmail.com
Fri Dec 6 15:40:59 EST 2013


On Fri, Dec 6, 2013 at 8:38 PM, Christoph Gohlke <cgohlke at uci.edu> wrote:

> On 12/6/2013 10:06 AM, Ralf Gommers wrote:
> > Hi all,
> >
> > There are a few discussions on packaging for the scientific Python stack
> > ongoing, on the NumFOCUS and distutils lists:
> > https://groups.google.com/forum/#!topic/numfocus/mVNakFqfpZg
> > <https://groups.google.com/forum/#%21topic/numfocus/mVNakFqfpZg>
> > https://groups.google.com/forum/#!topic/numfocus/HUcwXTM_jNY
> > <https://groups.google.com/forum/#%21topic/numfocus/HUcwXTM_jNY>
> > http://thread.gmane.org/gmane.comp.python.distutils.devel/20202
> > http://thread.gmane.org/gmane.comp.python.distutils.devel/20296
> >
> > One of the things that we should start doing for numpy is distribute
> > releases as wheels. On OS X at least this is quite simple, so I propose
> > to just experiment with it. I can create some to try out and put them on
> > a separate folder on SourceForge. If that works they can be put on PyPi.
> >
> > For Windows things are less simple, because the wheel format doesn't
> > handle the multiple builds (no SSE, SSE2, SSE3) that are in the
> > superpack installers. A problem is that we don't really know how many
> > users still have old CPUs that don't support SSE3. The impact for those
> > users is high, numpy will install but crash (see
> > https://github.com/scipy/scipy/issues/1697). Questions:
> > 1. does anyone have a good idea to obtain statistics?
> > 2. in the absence of statistics, can we do an experiment by putting one
> > wheel up on PyPi which contains SSE3 instructions, for python 3.3 I
> > propose, and seeing for how many (if any) users this goes wrong?
> >
> > Ralf
> >
> > P.S. related question: did anyone check whether the recently merged
> > NPY_HAVE_SSE2_INTRINSIC puts SSE2 instructions into the no-SSE binary?
> >
> >
>
> Has anyone succeeded building wheels for numpy, scipy, and matplotlib?
>

I did for numpy and scipy. You had to hack a bit numpy.distutils to make it
work for scipy,but nothing that would be too complicated to really fix.

In your case, the trick is to use the setupegg file: python setupegg.py
bdist_wheel

David

> On Windows `bdist_wheel` fails for me. It looks like numpy.distutils
> doesn't know about wheels and version 0.22.0 fails to package
> matplotlib. Pillow, pandas, scikit-image, scikits-learn work.
>
> Christoph
>
>
> Numpy 1.8.x
> -----------
> ...
> running build_scripts
> creating build\scripts.win-amd64-3.3
> Creating build\scripts.win-amd64-3.3\f2py.py
>    adding 'build\scripts.win-amd64-3.3\f2py.py' to scripts
> Running from numpy source directory.
> usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
>     or: setup.py --help [cmd1 cmd2 ...]
>     or: setup.py --help-commands
>     or: setup.py cmd --help
>
> error: invalid command 'bdist_wheel'
>
>
> Scipy 0.13.x
> ------------
> ...
> X:\Python27-x64\lib\distutils\dist.py:267: UserWarning: Unknown
> distribution option: 'test_suite'
>    warnings.warn(msg)
> usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
>     or: setup.py --help [cmd1 cmd2 ...]
>     or: setup.py --help-commands
>     or: setup.py cmd --help
>
> error: invalid command 'bdist_wheel'
>
>
> Matplotlib 1.3.x
> ----------------
> ...
> installing to build\bdist.win32\wheel
> running install
> running install_lib
> copying pylab.py -> build\bdist.win32\wheel\matplotlib-1.3.1.data\..
> error: build\bdist.win32\wheel\matplotlib-1.3.1.data\..: Cannot create a
> file when that file already exists
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20131206/f6df0a28/attachment.html>


More information about the NumPy-Discussion mailing list