Always use pep 517 when the 'wheel' package is absent by sbidoul · Pull Request #11871 · pypa/pip (original) (raw)

If it is now required for complete functionality, shouldn't pip explicitly depend on wheel?

Actually, wheel is not required, just like setuptools is not required.

If you try to install a project that has a setup.py but no pyproject.toml in an environment that does not have setuptools or wheel, pip will create a temporary build environment, install the default build backend (i.e. setuptools) in it (and wheel too, because the setuptools requires wheel), build a wheel in that temporary environment, and install the wheel in your environment.

Unless you use --no-build-isolation, in which case you are responsible to install the build dependencies yourself.