Christoph Gohlke and compiled packages

Oscar Benjamin oscar.j.benjamin at gmail.com
Tue Apr 11 07:54:05 EDT 2023


On Tue, 11 Apr 2023 at 12:01, Chris Angelico <rosuav at gmail.com> wrote:
>
> On Tue, 11 Apr 2023 at 20:15, Jim Schwartz <jschwar at sbcglobal.net> wrote:
> >
> > What’s the problem now?  Is it with python on windows?  I use python on windows so I’d like to know. Thanks
> >
>
> 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.

Both numpy and psycopg2 have binary wheels for Windows that can be pip
installed from PyPI. I haven't used psycopg2 myself and I don't use
Windows so I can't say if there is any difficulty using them but I
presume that they can install and run just fine. Certainly the numpy
wheels have been there for Windows for years and work just fine.
Before numpy provided wheels they also provided MSI installers for
Windows anyway so there was always an alternative to Christoph's
stack.

Christoph's Windows binaries project predated the wheel format and so
the alternative options have improved massively since then. I presume
that there are some projects where Christoph's binaries are still the
only non-conda option (besides build yourself). I would not be
surprised if all of those are installable by conda though and we are
probably talking about projects that would seem obscure to most Python
users.

Certainly for the more widely used libraries like numpy installing
binaries with pip is not a problem these days on Windows or other
popular OS. I notice that psycopg2 *only* provides binaries for
Windows and not e.g. OSX or Linux but the list of binaries provided by
numpy is extensive with the current release listing wheels for all
combinations of CPython 3.8-3.11, win32, win amd64, manylinux amd64,
manylinux aarch64, OSX x64, OSX arm64:
https://pypi.org/project/numpy/1.24.2/#files

The difference now since the days when Cristoph started generating and
hosting binaries is that it is typically expected that a project like
numpy should produce its own binary wheels for popular platforms and
host them on PyPI. Of course that is a burden on the numpy maintainers
but tooling for this is much better than it used to be with things
like cibuildwheel, free CI systems including Windows/OSX runners etc.
It is *much* easier for a project to support generating Windows wheels
now than it used to be and to a certain extent it just forms part of
the normal CI setup that a project like numpy would want to have
anyway.

--
Oscar


More information about the Python-list mailing list