There is a connection with PEP 517 and projects that can't install via wheels too.
The thing breaking install_requires
is actually the install-by-wheel feature of pip
(not pyproject.toml
as I initially thought): older versions of pip
used to install packages in the correct order as specified by install_requires
(this is actually documented).
Newer versions that install by wheels no longer do this: wheels are built in a random order and then installed. (this doesn’t break anything for the moment because pip
still falls back to the classic installation if building a wheel fails)