2016-02-18 92 views
14

Sto distribuendo un pacchetto Python e vorrei eseguire un semplice test per vedere se tutte le celle del mio notebook funzioneranno senza errori. Vorrei testarlo via linea di comando in quanto ho problemi con l'esecuzione di un notebook in virtualenv. C'è un modo semplice da linea di comando per testare questo?Posso eseguire celle notebook Jupyter in linea di comando?


Nota per il moderatore: questa domanda è stato contrassegnato come un duplicato di How to run an .ipynb Jupyter Notebook from terminal? . Tuttavia, questa domanda è stata postata (posta il 18 febbraio 16 alle 2:49) alcuni giorni prima di quella (richiesto il 22 febbraio 16 alle 3:35). Al massimo, quel post potrebbe essere contrassegnato come duplicato e, se lo si ritiene, un'azione appropriata potrebbe essere merge the two questions, maintaining this, the original, as the master.

Tuttavia, queste domande non possono essere duplicate (l'intento dell'altro autore non è chiaro). Indipendentemente da ciò, questa domanda e le sue risposte indirizzano specificatamente lo all'esecuzione di celle all'interno di un notebook jupyter dal terminale, non semplicemente convertendo quaderni in file python.

+0

Discussione correlata: [Esegui Jupyter Notebook (.ipynb) dalla riga di comando come se fosse un file .py] (https://stackoverflow.com/q/43602938/320399) – blong

+0

Possibile duplicato di [Come eseguire un .ipynb Notebook Jupyter dal terminale?] (Https://stackoverflow.com/questions/35545402/how-to-run-an-ipynb-jupyter-notebook-from-terminal) –

risposta

9

È possibile utilizzare runipy per eseguire questa operazione.

runipy eseguirà tutte le celle in un notebook. Se si verifica un errore, il processo si interrompe.

$ pip install runipy

$ runipy MyNotebook.ipynb

Ci sono dei comandi anche per il salvataggio del file di output come un notebook o un report HTML:

$ runipy MyNotebook.ipynb OutputNotebook.ipynb

$ runipy MyNotebook.ipynb --html report.html

+0

Capito. Grazie. – RajeshM

+2

Questa risposta è corretta, ma è stata sostituita nelle ultime versioni di jupyter dal comando '' nbconvert'' – meduz

19

nbconvert (un tool per la conversione jupyter notebook) permette di fare questo senza alcun pacchetti extra:

Basta andare al vostro terminale e digitare

$ jupyter nbconvert --to notebook - -execute mynotebook.ipynb --output mynotebook.ipynb

Source

+0

Mi piace l'idea di usare nbconvert più di un pacchetto separato, anche se quando ho provato questo mi sono imbattuto in [questo problema] (https://github.com/Anaconda-Platform/nb_conda_kernels/issues/34) –

+7

Puoi anche usare il flag --inplace: 'jupyter nbconvert --to notebook --execute --place mynotebook.ipynb' –