For reasons that at-present escape me, pipenv insists on creating a stub pyproject.toml file. This file is a nuisance, because its mere presence changes the behavior of various tools.
For instance, this stub file will cause "pip install --user -e ." to fail in spectacular fashion with misleading errors. "pip install -e ." works okay, but for some reason pip does not support editable installs to the user directory when using PEP517. References: https://github.com/pypa/pip/pull/9990 https://github.com/pypa/pip/issues/7953 As outlined in ea1213b7ccc, it is still too early for us to consider moving to a PEP-517 exclusive package. We must support support older distributions, so squash the annoyance for now. (Python 3.6 shipped Dec 2016, PEP517 support showed up in pip sometime in 2019 or so.) Add 'pyproject.toml' to the 'make clean' target, and also delete it after every pipenv invocation issued by the Makefile. Signed-off-by: John Snow <js...@redhat.com> --- python/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/Makefile b/python/Makefile index 06f78f760a..758ce2c8d8 100644 --- a/python/Makefile +++ b/python/Makefile @@ -49,6 +49,7 @@ help: pipenv: .venv .venv: Pipfile.lock @PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated + rm -f pyproject.toml @touch .venv check-pipenv: pipenv @@ -84,6 +85,7 @@ check-tox: clean: python3 setup.py clean --all + rm -f pyproject.toml distclean: clean rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/ -- 2.31.1