Use pyproject.toml to specify setup requirement and stop invoking pip from setup.py #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I think that invoking
pip
fromsetup.py
is not a desirable way to ensurenumpy
andCython
are installed, becausepip
may not be in the$PATH
, or in a different name (e.g.pip3
), or a user want to install using--user
.By using
pyproject.toml
a build system can know build requirements without executingsetup.py
and install them appropriately. This feature was merged topip
in 2017 (pypa/pip#4144) and I think it is okay to assume the availability of this feature now in 2020.