Andres Freund <and...@anarazel.de> writes: > On 2022-01-23 18:31:44 -0500, Tom Lane wrote: >> Yeah, but we don't know whether there are any versions of the Debian >> packaging in which they fixed the file layout, so that 'posix_local' >> actually does describe the layout.
> I think posix_local try to achieve something different than what you assume it > does. It's intended to return the location to which "locally" intalled python > extension install their files (including headers) - after having the problem > that such local python package installations overwrite (and thus broke) files > installed via the system mechanism. Okay, but surely they'd have thought of packages that just want to find out where the system Python headers are? Having this be the default behavior seems like it breaks as much as it fixes. (Of course, maybe that's why they gave up on it.) Anyway, I don't mind trying your second suggestion scheme = sysconfig._get_default_scheme() # Work around Debian / Ubuntu returning paths not useful for finding python headers if scheme == 'posix_local': scheme = 'posix_prefix' sysconfig.get_path('include', scheme = scheme) If it doesn't work everywhere, we can adjust it later. regards, tom lane