diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2016-09-09 13:36:35 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2016-09-21 10:48:52 +0900 |
commit | 7863468683030dc42fe638d0ed3ed78cfd4546c9 (patch) | |
tree | 98d7f8a1c533a560d59199221e09bad4fbfb3f8f /sphinx/setup_command.py | |
parent | fb9dc3539ae0a09d29c03342ed94b275450486ff (diff) | |
download | sphinx-git-7863468683030dc42fe638d0ed3ed78cfd4546c9.tar.gz |
Fix #2687: Uninstall sphinx directives and roles after build
Diffstat (limited to 'sphinx/setup_command.py')
-rw-r--r-- | sphinx/setup_command.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/sphinx/setup_command.py b/sphinx/setup_command.py index ffcd5ba70..c23f22228 100644 --- a/sphinx/setup_command.py +++ b/sphinx/setup_command.py @@ -23,6 +23,7 @@ from distutils.errors import DistutilsOptionError, DistutilsExecError from sphinx.application import Sphinx from sphinx.cmdline import handle_exception from sphinx.util.console import nocolor, color_terminal +from sphinx.util.docutils import docutils_namespace from sphinx.util.osutil import abspath @@ -165,15 +166,16 @@ class BuildDoc(Command): confoverrides['copyright'] = self.copyright try: - app = Sphinx(self.source_dir, self.config_dir, - self.builder_target_dir, self.doctree_dir, - self.builder, confoverrides, status_stream, - freshenv=self.fresh_env, - warningiserror=self.warning_is_error) - app.build(force_all=self.all_files) - if app.statuscode: - raise DistutilsExecError( - 'caused by %s builder.' % app.builder.name) + with docutils_namespace(): + app = Sphinx(self.source_dir, self.config_dir, + self.builder_target_dir, self.doctree_dir, + self.builder, confoverrides, status_stream, + freshenv=self.fresh_env, + warningiserror=self.warning_is_error) + app.build(force_all=self.all_files) + if app.statuscode: + raise DistutilsExecError( + 'caused by %s builder.' % app.builder.name) except Exception as exc: handle_exception(app, self, exc, sys.stderr) if not self.pdb: |