-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Workaround test failures with setuptools 80 #13357
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
Conversation
654a05a
to
99dcc23
Compare
This breaks our test suite which expects egg-link files to be created.
99dcc23
to
f124f60
Compare
The setuptool PR that introduced the change: pypa/setuptools#4955 |
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.
There's this slightly concerning line in the changelog:
Develop command no longer uses easy_install, but instead defers execution to pip (which then will re-invoke Setuptools via PEP 517 to build the editable wheel). Most of the options to develop are dropped. This is the final warning before the command is dropped completely in a few months. Use-cases relying on ‘setup.py develop’ should pin to older Setuptools version or migrate to modern build tooling. (#4955)
cc @jaraco just to confirm, the plan is remove setup.py develop
at the same time or after pip removes its own fallback to setup.py develop
(scheduled for pip 25.3 so in ~six months), right? We still call setup.py develop
when the project does not have a pyproject.toml
. The deprecation is tracked in #11457.
If the plan is to drop setup.py develop
before pip, I'd like to be aware of your timeline.
@pfmoore can I merge this PR or do you want to wait? I'd say there's no point in waiting since we'd need working CI to even consider any other changes for a bugfix release, but I'll leave the decision to you. |
Go for it. I agree - this isn't going to trigger a bugfix release, but it's fine to include in it if we do one. (Sorry, I should have been clearer about that distinction when I asked people to go easy on merges...) |
I was not aware that pip still called Am I right in thinking that pip users can always pass |
@jaraco that is correct |
Users can also:
|
IIUC, setuptools 80 changed setup.py develop to use PEP 660?
This breaks our test suite which expects egg-link files to be created.
As part of the removal of the
setup.py develop
code path (scheduled for 25.3), we need to stop relying on egg-link to detect editable installs and use direct_url.json instead, so this will be revisited soon.