diff options
Diffstat (limited to 'sphinx/application.py')
-rw-r--r-- | sphinx/application.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sphinx/application.py b/sphinx/application.py index f325935ad..eeaa954eb 100644 --- a/sphinx/application.py +++ b/sphinx/application.py @@ -207,11 +207,15 @@ class Sphinx(object): # the config file itself can be an extension if self.config.setup: self._setting_up_extension = ['conf.py'] - raise ConfigError( - _("'setup' that is specified in the conf.py has not been " - "callable. Please provide a callable `setup` function " - "in order to behave as a sphinx extension conf.py itself.") - ) + # py31 doesn't have 'callable' function for below check + if hasattr(self.config.setup, '__call__'): + self.config.setup(self) + else: + raise ConfigError( + _("'setup' that is specified in the conf.py has not been " + "callable. Please provide a callable `setup` function " + "in order to behave as a sphinx extension conf.py itself.") + ) # now that we know all config values, collect them from conf.py self.config.init_values() |