-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Never use pkg_resources metadata backend on python 3.14+ #13010
Never use pkg_resources metadata backend on python 3.14+ #13010
Conversation
84c50f5
to
0e81b3c
Compare
840dc8f
to
d8f2eac
Compare
We should probably check in our redistributors to make sure they're OK with this change. /cc @FFY00 @eli-schwartz @stefanor @doko42 @kitterma @hroncok TL;DR, we'd like to stop using Anyway, for a long time, pip has defaulted to using the We'd like to disable these escape hatches on Python 3.13 so we have a migration path to eliminating the |
Gentoo does not ship any .egg files, which I believe means we shouldn't be affected by this change, correct? |
If we do, it's always some cmake-wrpapped-autotools-bash-script-calling-setup.py-with-weird-arguments situation. Such packages are hardly ever interacted with by the rest of the Python ecosystem. And we don't want pip to uninstall RPM-installed packages. So that part is more than OK. Anyway, on Fedora 42:
(based on |
I suggest it would be excellent to make setuptools not create eggs first before you land this, but perhaps you need to land this before you make this a priority for setuptools :/ |
We have no control over what setuptools does, unfortunately, but given that pypa/setuptools#3143 appears to be triggered only by using the deprecated |
In Debian we have a couple of packages installed as
Many of these are off We use |
Thanks @eli-schwartz @hroncok and @stefanor for responding!
@hroncok I did reach out to the the setuptools folks to flag pypa/setuptools#3143, but ultimately whether they decide to do anything is entirely up to them. We have no control over what setuptools does, sadly.
@eli-schwartz Assuming Gentoo doesn't patch pip or CPython to force the use of the legacy
@stefanor Sounds great! Thanks for letting us know! I don't think we've heard from the Arch folks yet? Filipe is probably busy so I'll leave it for a little bit longer and then ping someone else. Please note that I am purposefully making no comment on whether we should actually stop using the |
Interestingly, Gentoo has this package but ours installs egg-info, not an egg. It is still a legacy package and runs Arguably it should be migrated from legacy setup.py with egg-info to a wheel builder/installer anyway, even though the pkg_resources backend for pip isn't affected. I guess this ancient unmaintained JTAG package is not commonly configured by users to enable the non-default, optional python backend. :)
Yup, I agree this shouldn't matter.
Another automake installation of a setup.py using |
@sbidoul do you still plan on merging this for 25.1 (i.e., in the next couple of weeks)? |
Following #13185 (comment), I plan to update it (or do another PR) to:
Then we'll remove pkg_resources when we stop supporting Python 3.10 (i.e. not earlier than 26.3). |
Works for me 🙂 |
d8f2eac
to
3fda8d6
Compare
3fda8d6
to
56d3269
Compare
I have updated this PR to never use pkg_resources on Python 3.14+. This should be uncontroversial, hopefully. I'll work on deprecating usage of pkg_resources in python 3.11, 3.12 and 3.13 in another PR. |
On python 3.13+ we don't support the fallback to the
pkg_resources
metadata backend, and don't attempt to detect.egg
installed distributions (#12330).In effect, this means
pkg_resources
is never used at all by pip on python 3.13 (to the best of my knowledge).This does not mean we will not want to drop support for the pkg_resources backend before we drop support for python 3.12, but at least this places a limit on it.
@pypa/pip-committers what do you think?