[Distutils] moving things forward
Paul Moore
p.f.moore at gmail.com
Sat May 7 09:55:48 EDT 2016
On 7 May 2016 at 14:17, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
> I don't know if there are conventions for such things on
> Windows. I suspect not, in which case manual input is
> going to be needed one way or another.
There aren't. You typically need to specify the exact locations of all
non-system libraries you use when you link. Judging by the various
complex systems in use (autoconf, pkg_config, ...) I don't think it's
as simple as you're suggesting on Unix either.
The complexities of configuring and building C libraries are a hard
problem, and one that people have been trying to solve for years. It's
not an area we (the Python packaging community) have any interest or
intention of getting involved in. Distutils went there and provided a
solution that did a fantastic job of solving the simpler parts of the
problem[1], but these days, the limitations of that approach are clear
- and we'd much rather enable specialists to build better (or more
specific) solutions and plug them into pip, than (as non-experts) try
to write those solutions for them.
> That's nice, but it wouldn't help me when I encounter
> a package that *hadn't* been set up to use gregsbuild. :-(
And ultimately that's the key issue that pip has to deal with - we
have to provide support for the many thousands of packages on PyPI and
elsewhere (including in closed-source in-house projects that we aren't
even theoretically capable of finding out about) that as you say
haven't been set up to use gregsbuild.
You suggest a declarative way of specifying compilation details. But
I'm not clear how *that* would help when I encounter a project that
hasn't been set up to use that new system, either.
Paul
[1] I was around before distutils, and it's incredibly easy these
days, with such a high awareness of the limitations of distutils, to
forget what a huge improvement it was over the previous situation. I
strongly believe that distutils - and the way it enabled all of
Python's subsequent packaging infrastructure - is one of the key
reasons why Python has become as popular as it is today. The debt we
owe to Greg Ward, who wrote distutils, is huge.
More information about the Distutils-SIG
mailing list