Christoph Gohlke and compiled packages

Mats Wichmann mats at wichmann.us
Tue Apr 11 14:30:01 EDT 2023


On 4/11/23 11:48, Oscar Benjamin wrote:
> On Tue, 11 Apr 2023 at 14:55, Mats Wichmann <mats at wichmann.us> wrote:
>>
>> On 4/11/23 06:03, Roel Schroeven wrote:
>>> Op 11/04/2023 om 12:58 schreef Chris Angelico:
>>
>>>> Python itself is fine, but a lot of third-party packages are hard to
>>>> obtain. So if you need numpy, for instance, or psycopg2, you might
>>>> need to find an alternative source.
>>> These days I use pip to install packages, and so far for the things I
>>> need it simply works. "pip install numpy" works, same for psycopg2,
>>> pillow, pandas, and other packages I use. Conda should work too, for
>>> those who use the Anaconda Python distribution. I honestly don't even
>>> know how it's done: are there some kind souls who provide the wheels
>>> (binary packages) for all those things, or if there is maybe a build
>>> farm that does the hard work to make things easy for us.
>>>
>>> In the past I've used Christoph Gohlke's site and I'm very grateful for
>>> the service it provided, but these days I don't really need it anymore,
>>> luckily.
>>
>> The deal really is, the instant a new Python version drops (3.11, 3.12,
>> etc.) a million people rush to install it, some of whom should know
>> better and be more patient.  3rd party packages are their own projects,
>> some have binary wheels ready on Python release day, some soon after,
>> some months after.
> 
> You can hardly blame a lot of people for doing this. A seb search for
> "download python" gives this as the first hit:
> https://www.python.org/downloads/
> 
> I am guessing that the release process automatically updates that page
> so that the minute 3.12 gets released the big yellow button will
> suggest downloading 3.12.0 as the default option.

Yes, you're quite right about that.

> Perhaps it is really package authors who should be getting a release
> out that is compatible with Python 3.12 before 3.12 itself is
> released. It's tricky though because as a maintainer it makes more
> sense to wait until you see the finished 3.12 product before making a
> release that is fully tested with it (even if you are testing the
> alphas etc in CI and making incremental fixes before 3.12 is
> released).

If you can find the incantation there are often pending builds for 
packages that need binary wheels, it may be "pip --pre" or it may be 
pointing to test.pypi.org... or there may not be. The projects may not 
tell you.  And for many less experienced users (and yes this is a known 
issue), they have no idea they need to look.

> The other option could be changing the downloads page so that it does
> not suggest 3.12.0 as the default option until it is clear that at
> least some baseline of widely used packages have uploaded compatible
> wheels.

There's been some suggestion of that before. Apparently the choice of 
what goes there is at least a bit political.  Like many projects, I 
believe python prefers to recommend "the latest and best release", while 
user prudence (and especially organizational prudence) tends to say 
"hold off for a while until it's been fully vetted, and the ecosystem 
catches up". I don't think we can cast too much blame on either: I don't 
expect Microsoft will say "Don't download Windows 12 for the first six 
months", even if they know perfectly well that many enterprise customers 
will take an approach like that.

Not sure there's any really good answer, TBH.





More information about the Python-list mailing list