(This behavior has been fixed in python-daemon version 2.0.4 and later.)
There are two sides:
- Setuptools assumes that it is the center of everything.
- Python-daemon version 2.0.3 does not take this into account.
A more detailed explanation: there is complex code using Docutils involved in the python-daemon build process, which is not needed after installation and is not part of the library code.
It is too difficult to leave in the irreplaceable (and therefore not testable) setup.py , so the assembly code is shunted into a separate module under test, version (in the version.py file), which itself uses Docutils.
But then setup.py has a cyclical dependency: how to import version when Docutils is not installed yet? How to use Setuptools to ensure the installation of Docutils, when running setup.py version will be required to complete? All possible solutions are ugly and confusing.
The approach adopted in 'python-daemon 2.0.3 is to declare the Docutils required for installation and declare the Setuptools entry point for which version is required. This way setup.py gets the installation of Docutils to any entry point that will use version .
But now we come to the first point that Setuptools takes over the center of everything. After announcing the entry point, setup.py changed every Setuptools action after that, and each package will fail if it cannot find the entry points. And, since most of them do not have version or the specified functions in this module, they call the Setuptools command.
What, in essence, is a mistake that needs to be fixed, shows a poorly understood case angle in Setuptools. Therefore, I vote for your question.
This doesn't seem to be a good solution: having modules for setup.py , but above all providing requirements. Setuptools suggests that this is the only build system needed to satisfy all the dependencies for everything, and when this assumption fails, it is very difficult to get around.
Thanks to the Python Packaging Authority and the distutils-sig forum for explaining this to me.
bignose
source share