[Distutils] Packages that have problems being installed from wheels

Daniel Holth dholth at gmail.com
Wed Aug 27 21:55:50 CEST 2014


Tell me more about setup-requires. It's nice to hear it has users. Should
we promote it to a pypa project?
On Aug 27, 2014 7:45 AM, "James Tocknell" <aragilar at gmail.com> wrote:

> Scipy (the package) doesn't work due to the build requirement on numpy
> (and the lack of metadata stating this), however some of the others have
> included https://bitbucket.org/dholth/setup-requires (or something
> equivalent) to install using numpy. Effectively, if the package can be pip
> installed, then wheeling should work (I created a script a while ago which
> uses distlib to modify scipy wheels such that they contain the correct
> metadata, and I haven't run into any issues). Matplotlib works, however
> some of the graphics toolkits aren't wheelable (e.g. pygtk and pyqt).
>
> One case that I know of where wheels do not replace a straight install is
> PySide (there needs to be rpath modification), however the PySide
> developers are aware of this and in their installation instructions they
> explicitly mention to run a post install script if installing from a wheel
> (The post install probably could be got rid of if $ORIGIN was used, but
> that would involve digging into the cmake install, and checking that it
> doesn't break anything. Also, I'm not sure how widely $ORIGIN is
> supported). I'd guess that any package which creates shared libraries which
> link to each other would have this problem also, though how many of those
> are pip installable is probably almost none.
>
> James
>
>
> On 27 August 2014 17:29, Donald Stufft <donald at stufft.io> wrote:
>
>>
>> On Aug 27, 2014, at 2:50 AM, Paul Moore <p.f.moore at 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 at 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
>>
>>
>> _______________________________________________
>> Distutils-SIG maillist  -  Distutils-SIG at python.org
>> https://mail.python.org/mailman/listinfo/distutils-sig
>>
>>
>
>
> --
> Don't send me files in proprietary formats (.doc(x), .xls, .ppt etc.). It
> isn't good enough for Tim Berners-Lee
> <http://opendotdotdot.blogspot.com/2010/04/rms-and-tim-berners-lee-separated-at.html>,
> and it isn't good enough for me either. For more information visit
> http://www.gnu.org/philosophy/no-word-attachments.html.
>
> Truly great madness cannot be achieved without significant intelligence.
>  - Henrik Tikkanen
>
> If you're not messing with your sanity, you're not having fun.
>  - James Tocknell
>
> In theory, there is no difference between theory and practice; In
> practice, there is.
>
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> https://mail.python.org/mailman/listinfo/distutils-sig
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20140827/3cec9de8/attachment-0001.html>


More information about the Distutils-SIG mailing list