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

Christoph Gohlke cgohlke at uci.edu
Fri Dec 6 15:38:32 EST 2013

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


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

More information about the NumPy-Discussion mailing list