-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pyproject.toml prevents pip install --user --editable
(v19.0.3)
#6375
Comments
Fixing this issue is the purpose of this PR: #6370 The one difference from what you described in your "expected behavior" section though is that you'll also need to pass There's a pretty detailed description as the first comment in the PR. It would be good to hear your feedback. |
See also issue #6314 for additional discussion. |
Thanks for the cross-references and your efforts. I'm not even sure what the behavior is supposed be. I'm especially vague on how setuptools is supposed to interact with pip and the I have many questions, but to keep matters concrete, am I correct in these points?
|
Your summary seems mostly or roughly correct at points, but I wouldn't want to say it's correct without qualification for fear of leading you down the wrong path. For example, here are a couple clarifications (there could be others):
It's failing not because it's too elaborate, but because it wasn't meant to support this case. It should be failing, but for a different reason. More explanation is below.
It's not that To restate some things, PEP 517 introduced a new way of building packages that involves setting up an isolated environment. I would encourage you to take a look: https://www.python.org/dev/peps/pep-0517/ One important aspect missing from your points is any mention of editable mode. It's important because that's what your issue involves. Since PEP 517 doesn't support editable mode, pip should be erroring out / failing fast if the user tries to use the new PEP 517 style with editable mode (but it's not failing fast). Currently, I would say whatever it's doing now is unsupported / undefined, which I believe is the behavior you're running into. Feel free to ask specific questions for further clarification. |
Okay thanks again, I appreciate you taking the time. You've answered everything relevant for my issue. Just to summarize: The build dependencies in If so, it doesn't seem to be:
Interlude To elaborate on another question I had:
The answer seems to be, because it's complicated:
|
Yeah. That's (one of) the issues that PR #6370 is meant to fix. It would be great if you could try installing from that branch and trying the fix, if you're able.
Well, not necessarily that it's complicated per se, but more that the PEP process itself was complicated. The PEP 517 discussion was already very long (several months) and contentious and difficult to get agreement on other aspects, so discussion of editable mode was removed in the interests of simplifying things and getting agreement on the other aspects. |
This has now been addressed by PR #6370. (Note that the issue number of this issue wasn't referenced by PR #6370 since that PR was created before this issue was filed.) @con-f-use If there are any PEP 517 / editable mode issues you think still remain to be addressed, feel free to open a new issue specific to that concern. |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Environment
Description
There seems to be no way to install an editable package in userspace with a
pyproject.toml
file present. At least on Ubuntu, Debian, possibly other systems while not using a Python virtual environment.Given the following minimal project, both
pip install --user -e .
andpip install -e .
fail if, and only if thepyproject.toml
file is present:Expected behavior
With a
pyproject.toml
present next tosetup.py
, eitheror
installs the package in userspace without special privileges and
python -c 'import nouser; nouser.oh_hell()'
printshello
successfully.Actual behavior
But without
pyproject.toml
:Additional Information
Running the listed command manually installs the package without problems:
The text was updated successfully, but these errors were encountered: