-
Notifications
You must be signed in to change notification settings - Fork 220
Description
When installing EasyBuild with pip the following deprecation warning is shown:
DEPRECATION: Building 'easybuild-framework' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the
--use-pep517option, (possibly combined with--no-build-isolation), or adding apyproject.tomlfile to the source tree of 'easybuild-framework'. Discussion can be found at pypa/pip#6334
With pip 25.3 on Python 3.14 there is no warning or error, although the new build process seems to be used:
jreuter@Linux ~ pip --version
pip 25.3 from /usr/lib/python3.14/site-packages/pip (python 3.14)
jreuter@Linux ~ update-easybuild.sh
Collecting https://github.com/easybuilders/easybuild-easyconfigs/archive/develop.tar.gz
Using cached https://github.com/easybuilders/easybuild-easyconfigs/archive/develop.tar.gz (7.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: easybuild-easyconfigs
Building wheel for easybuild-easyconfigs (pyproject.toml) ... done
Created wheel for easybuild-easyconfigs: filename=easybuild_easyconfigs-5.2.1.dev0-py3-none-any.whl size=18205668 sha256=c7085de0e06e8918e551a60942840e9f2164463315ff9bb5e83e0245730e93a6
Stored in directory: /tmp/pip-ephem-wheel-cache-fyq07w5v/wheels/6d/03/51/5dcd5171e39e242d65d07f2b8afb05bc84b5318c07cabd38a5
Successfully built easybuild-easyconfigs
Installing collected packages: easybuild-easyconfigs
Attempting uninstall: easybuild-easyconfigs
Found existing installation: easybuild-easyconfigs 5.2.1.dev0
Uninstalling easybuild-easyconfigs-5.2.1.dev0:
Successfully uninstalled easybuild-easyconfigs-5.2.1.dev0
Successfully installed easybuild-easyconfigs-5.2.1.dev0
PEP 517 is especially about build isolation, i.e. (automatically) creating a virtualenv where build dependencies are installed to before building the package.
This might also be useful for #5065 if it turns out that our standard use of setuptools (in there) is (unexpectedly) incompatible with some specific setuptools version as we can use pyproject.toml setup-requires to specify what we want or don't want.