Please consider undeprecating setup_requires
See original GitHub issueI have run into an issue with the deprecation of setup_requires
: the recommended alternative appears to be PEP 517/build-system.requires
, but that comes with its own issues:
-
apparently it breaks wheels unless you use special options likethis is wrong, my apologies--no-binary
. This breaks very common tools liketox
which no longer can install a project if this package is a dependency - also, why would you want to not have wheels? -
setup_requires
isn’t installed when invokinghooks.get_requires_for_build_wheel()
as called by pip/pep517. However the newbuild-system.requires
is. In practice this is an issue when putting a Cython project as a build dependency for.pxd
imports: a.pxd
dep is only actually required when building the wheel (wheresetup_requires
will provide it) but not for basic package analysis (wherebuild-system.requires
per design provides it too,setup_requires won't
). In practice since “providing it” means building the whole package, as a result obtaining any package metadata is greatly slowed down -
pyproject.toml
sbuild-system.requires
is declarative but not exhaustive. the problem with that is that the dependencies are then spread over multiple places, e.g. no longer just requirements.txt parsed bysetup.py
- which can’t be parsed similarly in the declarativepyproject.toml
file with its staticbuild_system.requires
Edit: a lot of this was initially quite misinformed so I corrected the reasons
Issue Analytics
- State:
- Created 4 years ago
- Reactions:3
- Comments:23 (12 by maintainers)
Top GitHub Comments
Thanks, that should be officially documented elsewhere, but that’s out of the scope of this issue I guess.
For me it type of breakout is not a good news. Like Python 2 to 3, it have take almost 10 years for back to reality. That it not the first time where a PEP is totaly worng.
The PEP in question transform something it have been simple during years by something totaly strange, with nobody it have experience, and no clear documentation.
I not understand that need to break the work of world developper’s.
My point is: Please consider to limit the negative impact of it type a change. I’m not sure maintain a Alias will be the end of the world.
Regards