-
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
Deprecate legacy setup.py install when --no-binary is used #9422
Conversation
src/pip/_internal/wheel_builder.py
Outdated
# specified on the command line, since the last option given | ||
# to setup.py is the one that is used. | ||
global_options = global_options + req.global_options | ||
build_options = build_options + req.build_options |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this have backward compatibility implications ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so?
aa8ffcd
to
9d761d4
Compare
9d761d4
to
c176a49
Compare
Hello! I am an automated bot and I have noticed that this pull request is not currently able to be merged. If you are able to either merge the |
Closing since this is out of date and bitrotten. Please feel free to file a new PR for this! ^>^ |
@pradyunsg The comment above still applies, though: I'd appreciate feedback from @pypa/pip-committers, to get confirmation that people are on board with the general approach before going further. as I was basically waiting to be sure there were no objections before pushing forward. |
Oh, yea, I'm 100% on board for this. :) |
Sorry, it looks like I missed this - yes, I'm in favour of this. |
I want to remove |
Good, thanks for the feedback. I'll get back to this soonish. |
c176a49
to
a4144fe
Compare
Rebased. |
46a1546
to
5d7b2a1
Compare
I'm also in favor of this and appreciate the fact that you split it in smaller PR 👍 However I do not understand why |
@xavfernandez that is a very good question and one I ask myself constantly while working on this. My first answer is another question: why does If we take for granted that it is useful for
Now it may turn out that |
Picking up on this point, we've done nothing with So I'm starting to think that what we should do is just accept something like But that's for later. I'm fine with @sbidoul's plan here for now. |
@sbidoul My bad, concerning Since So even more in favor ^^. I'm wondering however if gathering
I think we should allow for |
With #5771 being resolved, I think both of the following can be removed/trimmed out of this PR?
If there's some blocker on setuptools' end for making this possible, then consider this a moot suggestion. :) |
@pradyunsg yes, that make sense. That said, I plan to put my energy in the short term on #10771 and I can come back to this end of Q3 or Q4. In the meantime if anyone wants to pick this up, I'd have no issue with that :) |
5d7b2a1
to
269a773
Compare
@pradyunsg I think the blocker is pypa/setuptools#2491 So I think I'll go for something in the vein of #9769 (comment) |
This continues in #11373. |
Towards #8102
Closes #9769
This is the first (and most difficult) leg of #8102 (comment), still with the goal of capturing user feedback about why the
setup.py install
code path would still be necessary, and nudging the ecosystem towards installing via wheel building.This is still draft, but I'd appreciate feedback from @pypa/pip-committers, to get confirmation that people are on board with the general approach before going further. Individual commits should be easy to grasp.
It basically implements what was discussed around #2677 (comment) and #8102 (comment).
support--build-option
in the install command in addition to the wheel command (as a transitory phase until the ecosystem supports PEP 517 config settings)accept--build-option
in requirement lines (as a transitory phase until the ecosystem supports PEP 517 config settings)deprecate--install-option
deprecate
--no-binary
implyingsetup.py install
(i.e. build wheel even if --no-binary is used)add a new feature flag (
always-install-via-wheel
) that, when active:--no-binary
is used (and therefore silence the corresponding deprecation)--install-option
is used withalways-install-via-wheel
--build-option
is used withoutalways-install-via-wheel
--no-binary
is used (Using --no-binary disables reuse of locally compiled wheels #9162)setup.py install
is attempted for any reason