[Distutils] Finishing up PEP 517

Thomas Kluyver thomas at kluyver.me.uk
Sun Jun 25 03:46:16 EDT 2017


On Sun, Jun 25, 2017, at 08:41 AM, Nick Coghlan wrote:
> Aside from not producing an archive, the bit that makes
> `prepare_wheel_build_files` notably different from `build_sdist` is
> that it relies on `get_build_wheel_requires` *not* on
> `get_build_sdist_requires`:
> https://www.python.org/dev/peps/pep-0517/#build-environment

This reminds me: while implementing a wrapper to call PEP 517 hooks, a
problem occurred to me. I have implemented prepare_wheel_build_files
with a fallback to making an sdist if the hook is not defined:

https://github.com/takluyver/pep517/blob/ee43a9334c377d7c37badcc8527cb7a8500180f7/pep517/_in_process.py#L136

But in this case, the build_sdist hook will be invoked in an environment
with the build-wheel-deps installed, not the build-sdist-deps. Working
around this would require moving the fallback a couple of levels up the
stack to a component that knows about installing packages for the build
process. That's not impossible, but it's inelegant and less efficient.

Thomas


More information about the Distutils-SIG mailing list