easybuilders / easybuild

EasyBuild - building software with ease
http://easybuild.io
GNU General Public License v2.0
464 stars 143 forks source link

`distutils` is deprecated in Python 3.12 #898

Closed bobqianic closed 2 weeks ago

bobqianic commented 3 weeks ago

Since distutils is deprecated in Python 3.12, are there any plans to update the code to support Python 3.12?

https://peps.python.org/pep-0632/

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/root/easybuild-venv/lib/python3.12/site-packages/easybuild/main.py", line 50, in <module>
    from easybuild.tools.build_log import EasyBuildError, print_error, print_msg, print_warning, stop_logging
  File "/root/easybuild-venv/lib/python3.12/site-packages/easybuild/tools/__init__.py", line 40, in <module>
    import distutils.version
ModuleNotFoundError: No module named 'distutils'
boegel commented 2 weeks ago

@bobqianic Yes, the work has been done already for that, the upcoming EasyBuild v5.0 will support running on top of Python 3.12 (and does not rely on distutils anymore), see also https://github.com/easybuilders/easybuild-framework/issues/3963