环境配置笔记24-使用jupyter nbconvert后台执行jupyter notebook

引言

nbconvert 是 Jupyter 提供的一个工具,允许将 .ipynb 文件转换为其他格式(如 HTML、PDF、Markdown、LaTeX、Python 脚本等),同时还支持执行 notebook 中的代码并将执行结果保存到输出文件中。

安装

pip install nbconvert

用法

jupyter nbconvert [OPTIONS] notebook.ipynb

常见选项

  • --to <format>:指定输出格式。可以选择多种格式,包括:

    • html:将 notebook 转换为 HTML 格式。
    • pdf:将 notebook 转换为 PDF 格式。
    • python:将 notebook 中的代码导出为 Python 脚本。
    • markdown:将 notebook 转换为 Markdown 格式。
    • notebook:将 notebook 转换为 .ipynb 格式。
    • latex:将 notebook 转换为 LaTeX 格式。
  • --execute:在转换过程中执行 notebook 中的代码。如果不指定,默认只会转换文本和代码,不会执行代码。

  • --inplace:直接修改原始的 notebook 文件。如果不指定,nbconvert 会创建一个新的输出文件。

  • --output <filename>:指定输出文件的路径和名称。如果没有指定,nbconvert 会自动生成一个文件名。

  • --ExecutePreprocessor.kernel_name=<kernel>:指定使用的内核(如 python3),适用于 notebook 使用不同语言的场景。

  • --allow-errors:允许在执行 notebook 时忽略错误并继续执行。如果 notebook 中的代码单元出现错误,默认情况下执行会停止,添加此选项可以忽略错误。

示例:

  • 后台运行notebook并覆盖之前的notebook文件
NOTEBOOK="/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/01_1_get_adata_zhu_rna.ipynb"
jupyter nbconvert --execute --to notebook --inplace --ExecutePreprocessor.kernel_name=python3 --output $NOTEBOOK $NOTEBOOK
  • 循环执行一系列文件
NOTEBOOKS=(
    "/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/01_1_get_adata_zhu_rna.ipynb"
    # "/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/02_2_get_adata_zhu_rna.ipynb"
    # "/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/03_3_get_adata_zhu_rna.ipynb"
    # 继续添加更多的文件路径...
)

# 循环执行每个 notebook 文件
for NOTEBOOK in "${NOTEBOOKS[@]}"; do
    jupyter nbconvert --execute --to notebook --inplace --ExecutePreprocessor.kernel_name=python3 --output $NOTEBOOK $NOTEBOOK
done
  • 后台运行notebook并生成一个html格式的文件
NOTEBOOK="/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/01_1_get_adata_zhu_rna.ipynb"
jupyter nbconvert --execute --to html --ExecutePreprocessor.kernel_name=python3 $NOTEBOOK
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容