Deprecate legacy setup.py install when --no-binary is used#9422
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.
Does this have backward compatibility implications ?
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 installcode 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-optionin the install command in addition to the wheel command (as a transitory phase until the ecosystem supports PEP 517 config settings)accept--build-optionin requirement lines (as a transitory phase until the ecosystem supports PEP 517 config settings)deprecate--install-optiondeprecate
--no-binaryimplyingsetup.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-binaryis used (and therefore silence the corresponding deprecation)--install-optionis used withalways-install-via-wheel--build-optionis used withoutalways-install-via-wheel--no-binaryis used (Using --no-binary disables reuse of locally compiled wheels #9162)setup.py installis attempted for any reason