Is OptionParser in conflict with Sphinx?
This did the trick for me, add this at the bottom.
if __name__ == '__main__':
parser = optparse.OptionParser()
Here is what I think happens:
When Sphinx runs, autodoc imports your module and the toplevel code in the module is executed. An OptionParser instance is created, and it processes the command line arguments and options passed to sphinx-build, one of which is -b. Your OptionParser does not allow this option.
I would put the OptionParser code in a function so that it is not executed when the module is imported.