-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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 SETUPTOOLS_USE_DISTUTILS=stdlib #3625
Comments
If i am correct, this will break the workaround needed on #3301 on old pythons on Debian based systems. |
Yes, perhaps. The deprecation wouldn't, but the subsequent removal probably would. There are different ways we could possibly ameliorate the situation:
I've added that bug to the project for consideration. |
This will lead up to 2027+5=2032 at least (ubuntu 22.04LTS end ESM support). Maybe the simpler would be to make sure that downstream vendor patches handle the new setuptools flawlessly, even on old packaged pythons which are in the official tree (eg python38 on ubuntu 20.04 (support 'til 2030) or python37 on ubuntu18.04 (support 'til 2027) which even does not have the _distutils_system_mod.py file. I think everybody would be happy of that. |
This is an imperfect way to make the tests pass on Python 3.12. Long-term goal is to deprecate the stdlib option, see pypa#3625
I've been proactively building Fedora packages without distutils to see what breaks. Figured out some setuptools tests fail. Hence: #3636 |
This is an imperfect way to make the tests pass on Python 3.12. Long-term goal is to deprecate the stdlib option, see pypa#3625
The issue appears when doing 'pip install -e <package>', the package does not show up when doing 'pip freeze'. This is caused by Ubuntu installing a patched version of distutils (see pypa/distutils/issues/17 and pypa/setuptools/issues/3301; see also pypa/setuptools/issues/3625 for when this will stop working). This adds a workaround. Better would be to create a virtualenv and install into that and be insulated from odd OS upstream choices.
I don't think that Python 3.11.2 is considered old. However, I am unable to import setuptools without setting the environment variable that you want to remove. Wouldn't it be better to fix setuptools first? This is what I am seeing:
|
Hello, Can I jump your project? |
Soon, as Python 3.12 starts to roll out, users will be unable to use SETUPTOOLS_USE_DISTUTILS=stdlib. Moreover, Setuptools supporting this mode also adds complexity to the project and reduces the ability of distutils/setuptools to evolve to consolidate behaviors. Let's deprecate this mode.
The text was updated successfully, but these errors were encountered: