On Aug 27, 2014, at 2:50 AM, Paul Moore <p.f.moore@gmail.com> wrote:

tl; dr; If you know of a project that can't be successfully installed
with "pip wheel proj; pip install /path/to/the/wheel.whl" can you let
me know the details?

One of the longer-term goals of the introduction of wheels was to
split the build and install steps for a package - specifically, in
pip, to restrict "pip install" to installing from wheels, and when no
wheel is available, to (transparently) run "pip wheel" on the sdist
followed by "pip install on the generated wheel". During a discussion
yesterday, I realised that I don't know how close we are to that goal.
So I'm looking for information on packages which don't install
properly from wheels at the moment. If anyone has examples of packages
where replacing "pip install foo" with "pip wheel -w /tmp/xxx; pip
install /tmp/xxx/*.whl" does not result in an equivalent install,
could they post them here with details of how & why they fail?

Things I already know about (but would like specific examples):

1. Post-install steps included in setup.py. That should be covered by
the support in Metadata 2.0. I'd also be interested in how much of an
issue omitting the postinstall would be in practice (for instance many
such steps just set up "Start Menu" type shortcuts, which are not
essential for the package to be usable).
2. Actually, that's the only one :-)

Things that should not be a problem (but might be):

1. Numpy (and the scipy stack) need better tagging facilities for
wheels - but that wouldn't matter for a wheel that's built, used, then
thrown away.
2. Some things are complex to build - but I don't know of any cases
where building a wheel is *more* complex than installing, and I don't
see how it could be, in theory.
3. Projects that customise setup.py so much that they aren't
compatible with setuptools and bdist_wheel. Such projects are quite
probably already incompatible with pip (which injects setuptools when
running setup.py anyway) and so not relevant for this discussion. But
if any do work with "pip install" but not "pip wheel", I'd like to
hear about them.

Thanks in advance for any information.
Paul
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Numpy (and other SciPy stack) has the problem too that it uses numpy.distutils
so I'm not even sure if ``pip wheel`` actually works on it at all or not. They
might have their own support for ``setup.py bdist_wheel`` though I don't know.

---
Donald Stufft
PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA