-
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? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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.