nbconvert 6.0 は --clear-output
を修正する必要があります
このオプションは以前から長い間機能していませんでした。パッチをマージしたバグ レポート:https://github.com/jupyter/nbconvert/issues/822
使用法はインプレース操作である必要があります:
jupyter nbconvert --clear-output --inplace my_notebook.ipynb
または、my_notebook_no_out.ipynb
という別のファイルに保存するには :
jupyter nbconvert --clear-output \
--to notebook --output=my_notebook_no_out my_notebook.ipynb
これはハロルドのコメントで指摘されました。
nbconvert 6.0 より前:--ClearOutputPreprocessor.enabled=True
--clear-output
と同じ使い方 :
jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace my_notebook.ipynb
jupyter nbconvert --ClearOutputPreprocessor.enabled=True \
--to notebook --output=my_notebook_no_out my_notebook.ipynb
Jupyter 4.4.0、ノートブック==5.7.6 でテスト済み。
.gitattributes
を作成する場合 ファイルを使用すると、特定のファイルを git に追加する前にフィルターを実行できます。これにより、ディスク上の元のファイルはそのまま残りますが、「クリーンアップされた」バージョンがコミットされます。
これを機能させるには、これをローカルの .git/config
に追加します またはグローバル ~/.gitconfig
:
[filter "strip-notebook-output"]
clean = "jupyter nbconvert --ClearOutputPreprocessor.enabled=True --to=notebook --stdin --stdout --log-level=ERROR"
次に .gitattributes
を作成します このコンテンツを含む、ノートブックを含むディレクトリ内のファイル:
*.ipynb filter=strip-notebook-output
仕組み:
- この属性は、フィルタの
clean
を実行するように git に指示します インデックスに追加する前の各ノートブック ファイルに対するアクション (ステージング)。 - フィルターは友達
nbconvert
、stdin からの読み取り、stdout への書き込み、出力の削除、重要な発言がある場合のみ発言するように設定します。 - ファイルがインデックスから抽出されると、フィルターの
smudge
アクションが実行されますが、指定していないため、これはノーオペレーションです。ここでノートブックを実行して、出力を再作成できます (nbconvert --execute
)。 - フィルタが何らかの理由で失敗した場合、ファイルは変換されずにステージングされることに注意してください。
このプロセスに関する私の唯一の不満は、.gitattributes
をコミットできることです。 しかし、同僚に .git/config
を更新するように言わなければなりません .
よりハックで高速なバージョンが必要な場合は、JQ を試してください:
clean = "jq '.cells[].outputs = [] | .cells[].execution_count = null | .'"
--ClearOutputPreprocessor.enabled=True を使用します および --クリア出力
次のコマンド:
jupyter nbconvert --ClearOutputPreprocessor.enabled=True --clear-output *.ipynb