繁体   English   中英

使用 `--to script` 忽略 `jupyter nbconvert` 中的 Markdown 单元格

[英]ignore markdown cells in `jupyter nbconvert` with `--to script`

是否可以让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

如果其他人想用CI检查他们的jupyter笔记本,而nbconvert + pipe方法对您来说效果不佳(对我而言是如此),我想推广我为此目的编写的工具/ hack。 flake8-nb

我问是因为我想使用 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM