以下のようなエラーがSphinx + Breatheで出る。
# Sphinx version: 1.6.3
# Python version: 3.6.2rc1 (CPython)
# Docutils version: 0.13.1 release
# Jinja2 version: 2.9.6
# Last messages:
# building [mo]: targets for 0 po files that are out of date
#
# building [html]: targets for 1 source files that are out of date
#
# updating environment:
#
# 1 added, 0 changed, 0 removed
#
# reading sources... [100%] index
#
# Loaded extensions:
# alabaster (0.7.10) from /usr/local/lib/python3.6/site-packages/alabaster/__init__.py
# breathe (4.6.0) from /usr/local/lib/python3.6/site-packages/breathe/__init__.py
# sphinx.ext.todo (1.6.3) from /usr/local/lib/python3.6/site-packages/sphinx/ext/todo.py
# sphinx.ext.mathjax (1.6.3) from /usr/local/lib/python3.6/site-packages/sphinx/ext/mathjax.py
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/sphinx/cmdline.py", line 306, in main
app.build(opts.force_all, filenames)
File "/usr/local/lib/python3.6/site-packages/sphinx/application.py", line 339, in build
self.builder.build_update()
File "/usr/local/lib/python3.6/site-packages/sphinx/builders/__init__.py", line 331, in build_update
'out of date' % len(to_build))
File "/usr/local/lib/python3.6/site-packages/sphinx/builders/__init__.py", line 344, in build
updated_docnames = set(self.env.update(self.config, self.srcdir, self.doctreedir))
File "/usr/local/lib/python3.6/site-packages/sphinx/environment/__init__.py", line 583, in update
self._read_serial(docnames, self.app)
File "/usr/local/lib/python3.6/site-packages/sphinx/environment/__init__.py", line 602, in _read_serial
self.read_doc(docname, app)
File "/usr/local/lib/python3.6/site-packages/sphinx/environment/__init__.py", line 723, in read_doc
pub.publish()
File "/usr/local/lib/python3.6/site-packages/docutils/core.py", line 218, in publish
self.apply_transforms()
File "/usr/local/lib/python3.6/site-packages/docutils/core.py", line 199, in apply_transforms
self.document.transformer.apply_transforms()
File "/usr/local/lib/python3.6/site-packages/docutils/transforms/__init__.py", line 171, in apply_transforms
transform.apply(**kwargs)
File "/usr/local/lib/python3.6/site-packages/docutils/transforms/universal.py", line 294, in apply
txtnode.parent.replace(txtnode, nodes.Text(newtext))
AttributeError: 'NoneType' object has no attribute 'replace'
breatheのbug
issueに解決方法が記載してある。 以下の該当行を次のコードで置き換えれば良い。
if nodelist: # nodelist[0].children = [term, separator] + nodelist[0].children nodelist[0].insert(0, term) nodelist[0].insert(1, separator) else: nodelist = [term]