summaryrefslogtreecommitdiff
path: root/sphinx/setup_command.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2016-09-09 13:36:35 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2016-09-21 10:48:52 +0900
commit7863468683030dc42fe638d0ed3ed78cfd4546c9 (patch)
tree98d7f8a1c533a560d59199221e09bad4fbfb3f8f /sphinx/setup_command.py
parentfb9dc3539ae0a09d29c03342ed94b275450486ff (diff)
downloadsphinx-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.py20
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: