ignore markdown cells in `jupyter nbconvert` with

2019-07-24 21:00发布

问题:

Is it possible to have jupyter nbconvert ... --to script ignore markdown cells rather than convert them to comments?

I'm asking because I want to use flake8 to check the Python code that's generated but I don't want to include the markdown cells (for example, because they are often long lines, and I don't want flake8 to complain about them).

回答1:

This seems to work:

Create a template strip_markdown.tpl

## remove markdown cells
{% extends 'python.tpl'%}
{% block markdowncell -%}
{% endblock markdowncell %}

jupyter nbconvert my_notebook.ipynb --to python --template=strip_markdown.tpl



回答2:

There is the command line argument PythonExporter.exclude_markdown that does what you want. To get a list of pep8 errors that just look at the code cells, I run

jupyter nbconvert my_notebook.ipynb --stdout --to python --PythonExporter.exclude_markdown=True | flake8 - --ignore=W391