83

コマンドラインから非対話的に IPython/Jupyter ノートブックを実行し、結果.ipynbのファイルを実行結果とともに保存できるかどうかは誰にもわかりません。まだ可能でない場合、phantomJS を使用してカーネルのオンとオフを切り替えたり、Web サーバーのオンとオフを切り替えたりするのはどれくらい難しいでしょうか?

より具体的には、既にノートブックを持っていて、original.ipynbそのノートブックのすべてのセルを再実行し、結果を新しいノートブックに保存したいとしnew.ipynbますが、ブラウザーまたはブラウザーでの対話を必要とせずに、コマンド ラインで 1 つのコマンドでこれを行います。カーネルまたは Web サーバーを閉じます。カーネルまたは Web サーバーがまだ実行されていないと仮定します。

コマンド例:

$ ipython notebook run original.ipynb --output=new.ipynb

4

6 に答える 6

72

はい、それは可能であり、簡単です。(ほとんど) 2.0 の IPython コアになります。今のところ、これらの例を参照することをお勧めします。

[編集]

$ jupyter nbconvert --to notebook --execute original.ipynb --output=new.ipynb

現在、Jupyter NbConvert にあります。NbConvert には、Preprocessorデフォルトで無効になっている一連の が付属しています。そのうちの 2 つ (ClearOutputPreprocessorExecutePreprocessor) が興味深いものです。(ローカル|グローバル)構成ファイルでc.<PreprocessorName>.enabled=True(大文字はpython)、またはコマンドラインで--ExecutePreprocessor.enabled=True通常どおり残りのコマンドを保持して有効にすることができます。

には、最近のバージョンの NbConvert で使用できる--ExecutePreprocessor.enabled=True便利なエイリアスがあります。必要に応じ--executeて組み合わせることができます--inplace

たとえば、ノートブック headless を実行した後に html に変換します。

$ jupyter nbconvert --to=html --execute RunMe.ipynb

出力を取り除いた後に PDF に変換する

$ ipython nbconvert --to=pdf --ClearOutputPreprocessor.enabled=True RunMe.ipynb

<insert-your-language-here>を設定した場合、これは (もちろん) カーネルを生成することにより、非 Python カーネルで動作します--profile=<your fav profile>。ノートブックを再実行する必要があるため、変換は非常に長くなる可能性があります。オプションでノートブックからノートブックへの変換を行うことができ--to=notebookます。

ユースケースに応じて設定/設定解除する必要があるその他のさまざまなオプション (タイムアウト、エラーの許可など) があります。詳細については、ドキュメントと、もちろんjupyter nbconvert --help、、、--help-allまたはnbconvert のオンライン ドキュメントを参照してください。

于 2013-07-28T23:04:51.270 に答える
21

この機能がコアの一部になるまで、私はあなたが望むことだけを行う小さなコマンドライン アプリをまとめました。これは runipy と呼ばれ、 でインストールできますpip install runipy。ソースと readmeはgithub にあります。

于 2013-09-20T03:38:15.970 に答える
1

並列ワーカー、入力パラメーター、電子メール送信、S3 入出力などの機能をカバーするには、jupyter-runner をインストールできます。

pip install jupyter-runner

github の Readme: https://github.com/omar-masmoudi/jupyter-runner

于 2017-03-09T23:03:51.277 に答える
-5

コマンドラインから iPython-Notebook-server を実行するだけです:

ipython notebook --pylab inline

これにより、サーバーが非対話モードで起動され、すべての出力がコードの下に表示されます。その後、コードと出力を含む .ipynb ファイルを保存できます。

于 2013-07-28T09:25:47.123 に答える