So I’ll just start this thread since a number of people have brought it up on the tracker in various places since pip 19.1 was released, and it’s better to have the discussion happening in one place.
I don’t have time to write up a full email with background (I think most of you already know the background anyways), and I’m not necessarily the best one to do so, but the basic question people are asking to revisit / discuss is how pip should behave if pip install -e
is run on a project containing a pyproject.toml
file.
The PEP 517 code in pip 19.0.3 didn’t really contemplate editable mode and led to something breaking in one case, which is what spurred making the behavior for editable mode explicit, as opposed to continuing longer with undefined behavior.
Two cases to distinguish when deciding this are–
-
with the
build-backend
key in the[build-system]
table -
without the
build-backend
key in the[build-system]
table
In the former case, PEP 517 says the source tree is a pyproject.toml
-style source tree and follows the PEP 517 specification. In the latter, PEP 517 says it is setup.py
-style and is not using the specification.
When considering what to do, IMO there should also be a plan for what will happen when editable mode is standardized, and that plan should include what any migration / deprecation paths will look like.