-
Notifications
You must be signed in to change notification settings - Fork 203
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
stop relying on distutils (will no longer be available in Python 3.12) #3963
Comments
boegel
changed the title
stop relying on distutils
stop relying on distutils (will no longer be available in Python 3.12)
Feb 16, 2022
bartoldeman
added a commit
to bartoldeman/easybuild-framework
that referenced
this issue
Mar 6, 2024
distutils was removed in Python 3.12. The only reason EasyBuild uses StrictVersion is that it orders beta/rc versions before the released version, unlike LooseVersion. E.g. 5.0.0-beta < 5.0.0 (but > for LooseVersion). So a new method `is_earlier_or_prerelease(self, other, markers)` was added to LooseVersion to handle that particular case. Addresses part of easybuilders#3963
This was referenced Mar 6, 2024
All done, see #4484 |
fixed with #4478 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
distutils
is deprecated since Python 3.10, will be removed in Python 3.12; see https://www.python.org/dev/peps/pep-0632Places we rely on
distutils
currently:from distutils.version import LooseVersion
(framework + easyblocks)but that has bitrotted a bitlooks promising...LooseVersion
from Python stdlib into EasyBuild?|before|
(see also http://tomerfiliba.com/blog/Infix-Operators/)?from distutils.version import StrictVersion
ineasybuild/tools/modules.py
+ testssetup.py
, to avoid depending onsetuptools
setuptools
will be a necesary evil (see also drop requirement for setuptools as runtime dependency #2836)from distutils.util import strtobool
ineasybuild/framework/easyconfig/types.py
The text was updated successfully, but these errors were encountered: