Why you shouldn't invoke setup.py directly
The
setuptools
team no longer wants to be in the business of providing a command line interface and is actively working to become just a library for building packages. What you should do instead depends on your use case, but if you want some basic rules of thumb, there is a table in the summary section.This does not mean that
setuptools
itself is deprecated, or that usingsetup.py
to configure your package builds is going to be removed. The only thing you must stop doing is directly executing thesetup.py
file — instead delegate that to purpose-built or standards-based tools, preferably those that work with any build backend.
Source: Why you shouldn't invoke setup.py directly, an article by Paul Ganssle.