- This will only affect you if you’re using setuptools to package your project
That sounds a bit scary… because I guess an overwhelming majority of packages have setuptools at their build backend. Maybe I would phrase something like the following (assuming I understood things correctly) and also add links to the Python packaging user guide (good for SEO and probably more reader-friendly than links to GitHub issues):
- You will see this deprecation notice if the package you are trying to install has setuptools as its build backend AND:
- EITHER this package does not have a valid build system declaration, thus pip will opt-out of the modern mechanisms and run
setup.pydirectly as required ;- OR this package’s build system declaration explictly requests a version setuptools older than version 64 which lacks support for the modern editable installation mechanism (PEP 660).
- The easiest way to address the deprecation is to add a
pyproject.tomlfile that declares your package’s build system to be setuptools (see the guide “How to modernize asetup.pybased project?” for more details).- You can keep your
setup.pyfile. It’s a configuration file for setuptools, and setuptools still supports it. pip simply won’t be running it directly anymore, delegating to setuptools (see the discussion “Issetup.pydeprecated?” for more details).
- If you wish, you can migrate your packaging setup to
pyproject.tomlentirely, but this isn’t necessary