Just a thought - can't we avoid code duplication by simply replacing the ``run`` method of Sphinx is not installed, or something like that? It would save a lot of code, especially if we modify the real sphinx command. Or we could use an abstract base class in which ``run`` is an abstract method?