sphinx + breatheでAttributeError: 'NoneType' object has no attribute 'replace'
以下のようなエラーが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]