question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

pip 19.1 and develop mode (with pyproject.toml - build-backend present)

See original GitHub issue

So I get now pip is PEP compliant, and the reasons why it was done.

However, this now breaks peoples workflow without any sane workaround (the only one to work is to remove pyproject.toml file before install and put it back afterwards), I consider it as a PEP oversight to not specify that it does not apply for editable installs.

PEP-517/8 on purpose did not want to cover editable installs, considering something to be addressed down the line (there’s some discussion on the topic upstream, but that’s ages away from reality). As such I would argue PEP-517/PEP-518 no longer applies when editable install mode is enabled. It’s the build frontend dependent on how this case is handled.

We have two options now:

  • In develop mode, pip should fallback to the old system, maintain the status quo until we figure out how to support editable installs in the new world.
  • Alternatively, provide a flag that triggers the old build system independent of the presence/content of the pyproject.toml.

Note this now breaks a lot of dependent systems (pipenv, tox, poetry, etc).

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:26
  • Comments:66 (40 by maintainers)

github_iconTop GitHub Comments

12reactions
gaborbernatcommented, Apr 24, 2019

Also, the next pip release isn’t for 3 months, so there’s no huge rush. Let’s think things through and make sure we have a good solution before rushing into someone writing a PR.

This breaks a lot of CIs and workflows. Notably mypy, tox, virtualenv (but a lot-lot more within my workplace). I consider this to be a bug-fix request, so waiting for three months feels to me not the right way to go.

9reactions
pgansslecommented, Apr 24, 2019

I have proposed discussing this at the Packaging Mini-summit, to the extent that “likes” are considered votes, liking it will help get it prioritized.

Either way, maybe we can get the new standard jump-started at PyCon next week? I’m thinking an open space to flesh out ideas among people interested would be good, if there’s time.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Pip 19.1 and installing in editable mode with pyproject.toml
I think we should fall back to PEP 518 and invoke setup.py develop in case a build-backend.requires key is found, and otherwise just...
Read more >
How to install a package using pip in editable mode with ...
ERROR: Project file:///tmp/demo has a 'pyproject.toml' and its build backend is missing the 'build_editable' hook. Since it does not have a 'setup.py' nor...
Read more >
pyproject.toml - pip documentation v22.3.1
Modern Python packages can contain a pyproject.toml file, ... It is also possible for a build backend to provide dynamically calculated build dependencies, ......
Read more >
install pyproject.toml-based projects python - You.com
Access a zero-trace private mode. ... pip install pyproject-tomlCopy PIP instructions. ... currently build is the only build back-end agnostic tool I .....
Read more >
Omer Ben-Amram (@OBenamram) / Twitter
Contribute to EmbarkStudios/rpmalloc-rs development by creating an account on ... pip 19.1 and develop mode (with pyproject.toml - build-backend present) ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found