[Distutils] Things that are not pip-installable (was Re: moving things forward) shouldn't)

Nathaniel Smith njs at pobox.com
Thu May 5 04:58:22 EDT 2016


On Thu, May 5, 2016 at 1:00 AM, Marius Gedminas <marius at gedmin.as> wrote:
> On Wed, May 04, 2016 at 11:32:33PM -0700, Nathaniel Smith wrote:
>> What are these things that aren't pip-installable and why isn't the
>> solution to fix that?
>
> Things that are not pip-installable that I've personally missed include:
>
> - pygame (there are a bunch of tickets in their bug tracker, and
>   upstream is working slowly to fix them, just ... very slowly)
>
> - pygobject (plus you need gobject-introspection files for all the
>   libraries you want to actually use, like GLib, Pango, Cairo, and GTK
>   itself, and those aren't on PyPI either)

1) I don't think either of these provide build-time services, i.e.,
they wouldn't be showing up in setup_requires?

2) The question isn't "are there things that aren't pip-installable",
obviously that's true :-). SciPy still doesn't have windows wheels on
pypi. But we're fixing that by making a windows compiler that can
build scipy [1]. NumPy has a build-time dependency on BLAS and its
headers. But we're fixing that by making BLAS and its headers
pip-installable [2]. Building wheels for binary packages is still
something of a black art. So we're building tools like "auditwheel" to
make it easier. Basically this is because we are fed up with putting
up with all the brokenness and want to fix it right instead of
continually compromising and piling up hacks.

>> We've spent a huge amount of effort on reaching the point where pretty
>> much everything *can* be made pip installable. Heck, *PyQt5*, which is
>> my personal benchmark for a probably-totally-unpackageable package,
>> announced last week that they now have binary wheels on pypi for all
>> of Win/Mac/Linux:
>>
>>   https://pypi.python.org/pypi/PyQt5/5.6
>
> Doesn't seem to work for me, with pip 8.1.1 on a 64-bit Linux machine:
>
>   $ pip install pyqt5
>   Collecting pyqt5
>     Could not find a version that satisfies the requirement pyqt5 (from versions: )
>   No matching distribution found for pyqt5

Your python is out of date ;-)

(For some reason they have only uploaded for py35 so far. I find this
a bit frustrating, but I suspect it is a solvable problem.)

-n

[1] https://mingwpy.github.io/proposal_december2015.html
[2] http://thread.gmane.org/gmane.comp.python.wheel-builders/91

-- 
Nathaniel J. Smith -- https://vorpus.org


More information about the Distutils-SIG mailing list