---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-18-8b27e52f5e62> in <module>()
----> 1 (body, resources) = html_exporter.from_notebook_node(nb)
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/html.py in from_notebook_node(self, nb, resources, **kw)
83 self.register_filter('highlight_code',
84 Highlight2HTML(pygments_lexer=lexer, parent=self))
---> 85 return super(HTMLExporter, self).from_notebook_node(nb, resources, **kw)
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/templateexporter.py in from_notebook_node(self, nb, resources, **kw)
293
294 # Top level variables are passed to the template_exporter here.
--> 295 output = self.template.render(nb=nb_copy, resources=resources)
296 return output, resources
297
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/jinja2/asyncsupport.py in render(self, *args, **kwargs)
74 def render(self, *args, **kwargs):
75 if not self.environment.is_async:
---> 76 return original_render(self, *args, **kwargs)
77 loop = asyncio.get_event_loop()
78 return loop.run_until_complete(self.render_async(*args, **kwargs))
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/jinja2/environment.py in render(self, *args, **kwargs)
1006 except Exception:
1007 exc_info = sys.exc_info()
-> 1008 return self.environment.handle_exception(exc_info, True)
1009
1010 def render_async(self, *args, **kwargs):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/jinja2/environment.py in handle_exception(self, exc_info, rendered, source_hint)
778 self.exception_handler(traceback)
779 exc_type, exc_value, tb = traceback.standard_exc_info
--> 780 reraise(exc_type, exc_value, tb)
781
782 def join_path(self, template, parent):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/jinja2/_compat.py in reraise(tp, value, tb)
35 def reraise(tp, value, tb=None):
36 if value.__traceback__ is not tb:
---> 37 raise value.with_traceback(tb)
38 raise value
39
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/../templates/html/full.tpl in top-level template code()
1 {%- extends 'basic.tpl' -%}
----> 2 {% from 'mathjax.tpl' import mathjax %}
3
4
5 {%- block header -%}
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/../templates/html/basic.tpl in top-level template code()
----> 1 {%- extends 'display_priority.tpl' -%}
2
3
4 {% block codecell %}
5 <div class="cell border-box-sizing code_cell rendered">
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/../templates/skeleton/display_priority.tpl in top-level template code()
----> 1 {%- extends 'null.tpl' -%}
2
3 {#display data priority#}
4
5
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/../templates/skeleton/null.tpl in top-level template code()
24 {%- block header -%}
25 {%- endblock header -%}
---> 26 {%- block body -%}
27 {%- for cell in nb.cells -%}
28 {%- block any_cell scoped -%}
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/../templates/html/full.tpl in block "body"()
71 <div tabindex="-1" id="notebook" class="border-box-sizing">
72 <div class="container" id="notebook-container">
---> 73 {{ super() }}
74 </div>
75 </div>
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/../templates/skeleton/null.tpl in block "body"()
26 {%- block body -%}
27 {%- for cell in nb.cells -%}
---> 28 {%- block any_cell scoped -%}
29 {%- if cell.cell_type == 'code'-%}
30 {%- if resources.global_content_filter.include_code -%}
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/../templates/skeleton/null.tpl in block "any_cell"()
79 {%- elif cell.cell_type in ['markdown'] -%}
80 {%- if resources.global_content_filter.include_markdown and not cell.get("transient",{}).get("remove_source", false) -%}
---> 81 {%- block markdowncell scoped-%} {%- endblock markdowncell -%}
82 {%- endif -%}
83 {%- elif cell.cell_type in ['raw'] -%}
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/../templates/html/basic.tpl in block "markdowncell"()
84 <div class="inner_cell">
85 <div class="text_cell_render border-box-sizing rendered_html">
---> 86 {{ cell.source | markdown2html | strip_files_prefix }}
87 </div>
88 </div>
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/exporters/html.py in markdown2html(self, source)
71 renderer = IPythonRenderer(escape=False,
72 anchor_link_text=self.anchor_link_text)
---> 73 return MarkdownWithMath(renderer=renderer).render(source)
74
75 def default_filters(self):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in render(self, text)
975 :param text: markdown formatted text content.
976 """
--> 977 return self.parse(text)
978
979 def parse(self, text):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in parse(self, text)
978
979 def parse(self, text):
--> 980 out = self.output(preprocessing(text))
981
982 keys = self.block.def_footnotes
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in output(self, text, rules)
1027 out = self.renderer.placeholder()
1028 while self.pop():
-> 1029 out += self.tok()
1030 return out
1031
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in tok(self)
1037 t = t[:-6]
1038
-> 1039 return getattr(self, 'output_%s' % t)()
1040
1041 def tok_text(self):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in output_list(self)
1099 body = self.renderer.placeholder()
1100 while self.pop()['type'] != 'list_end':
-> 1101 body += self.tok()
1102 return self.renderer.list(body, ordered)
1103
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in tok(self)
1037 t = t[:-6]
1038
-> 1039 return getattr(self, 'output_%s' % t)()
1040
1041 def tok_text(self):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in output_list_item(self)
1108 body += self.tok_text()
1109 else:
-> 1110 body += self.tok()
1111
1112 return self.renderer.list_item(body)
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in tok(self)
1037 t = t[:-6]
1038
-> 1039 return getattr(self, 'output_%s' % t)()
1040
1041 def tok_text(self):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in output_list(self)
1099 body = self.renderer.placeholder()
1100 while self.pop()['type'] != 'list_end':
-> 1101 body += self.tok()
1102 return self.renderer.list(body, ordered)
1103
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in tok(self)
1037 t = t[:-6]
1038
-> 1039 return getattr(self, 'output_%s' % t)()
1040
1041 def tok_text(self):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in output_list_item(self)
1106 while self.pop()['type'] != 'list_item_end':
1107 if self.token['type'] == 'text':
-> 1108 body += self.tok_text()
1109 else:
1110 body += self.tok()
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in tok_text(self)
1043 while self.peek()['type'] == 'text':
1044 text += '\n' + self.pop()['text']
-> 1045 return self.inline(text)
1046
1047 def output_newline(self):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in __call__(self, text, rules)
529
530 def __call__(self, text, rules=None):
--> 531 return self.output(text, rules)
532
533 def setup(self, links, footnotes):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in output(self, text, rules)
559
560 while text:
--> 561 ret = manipulate(text)
562 if ret is not False:
563 m, out = ret
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/mistune.py in manipulate(text)
553 continue
554 self.line_match = m
--> 555 out = getattr(self, 'output_%s' % key)(m)
556 if out is not None:
557 return m, out
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/filters/markdown_mistune.py in output_block_math(self, m)
43
44 def output_block_math(self, m):
---> 45 return self.renderer.block_math(m.group(1) or m.group(2))
46
47 def output_latex_environment(self, m):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/filters/markdown_mistune.py in block_math(self, text)
86
87 def block_math(self, text):
---> 88 return '$$%s$$' % self.escape_html(text)
89
90 def latex_environment(self, name, text):
~/miniconda3/envs/jupyter/lib/python3.6/site-packages/nbconvert/filters/markdown_mistune.py in escape_html(self, text)
83 # https://wiki.python.org/moin/EscapingHtml
84 def escape_html(self, text):
---> 85 return cgi.escape(text)
86
87 def block_math(self, text):
~/miniconda3/envs/jupyter/lib/python3.6/cgi.py in escape(s, quote)
1054 warn("cgi.escape is deprecated, use html.escape instead",
1055 DeprecationWarning, stacklevel=2)
-> 1056 s = s.replace("&", "&") # Must be done first!
1057 s = s.replace("<", "<")
1058 s = s.replace(">", ">")
AttributeError: 'NoneType' object has no attribute 'replace'