是否可以jupyter nbconvert ... --to script
忽略降价单元格而不是将它们转换为评论?
我问是因为我想用来flake8
检查生成的 Python 代码,但我不想包含降价单元格(例如,因为它们通常很长,我不希望 flake8 抱怨它们) .
是否可以jupyter nbconvert ... --to script
忽略降价单元格而不是将它们转换为评论?
我问是因为我想用来flake8
检查生成的 Python 代码,但我不想包含降价单元格(例如,因为它们通常很长,我不希望 flake8 抱怨它们) .
有命令行参数PythonExporter.exclude_markdown
可以满足您的需求。要获取仅查看代码单元的 pep8 错误列表,我运行
jupyter nbconvert my_notebook.ipynb --stdout --to python --PythonExporter.exclude_markdown=True | flake8 - --ignore=W391
这似乎有效:
创建模板strip_markdown.tpl
## remove markdown cells
{% extends 'python.tpl'%}
{% block markdowncell -%}
{% endblock markdowncell %}
jupyter nbconvert my_notebook.ipynb --to python --template=strip_markdown.tpl
我问是因为我想使用 flake8 来检查生成的 Python 代码
您可以直接使用nbqa执行此操作:
$ nbqa flake8 my_notebook.ipynb --extend-ignore=E203,E302,E305,E703
my_notebook.ipynb:cell_3:1:1: F401 'import pandas as pd' imported but unused
它也可用作预提交挂钩,请参阅https://nbqa.readthedocs.io/en/latest/pre-commit.html