web-dev-qa-db-fra.com

Puis-je exécuter des cellules de bloc-notes Jupyter en ligne de commande?

Je déploie un package Python et je voudrais exécuter un test simple pour voir si toutes les cellules de mon bloc-notes fonctionneront sans erreur. Je voudrais tester cela via la ligne de commande car j'ai des problèmes lors de l'exécution d'un ordinateur portable dans virtualenv. Existe-t-il un moyen simple en ligne de commande pour tester cela?


Note au modérateur: cette question a été marquée comme un doublon de Comment exécuter un ordinateur portable Jupyter .ipynb à partir du terminal? . Cependant, cette question a été publiée (posée le 18 février 16 à 14h49) plusieurs jours avant celle-ci (posée le 22 février 16 à 15h35). Tout au plus, ce message pourrait être marqué comme doublon, et si cela est jugé ainsi, une action appropriée serait de fusionner les deux questions, en conservant cela, l'original, en tant que maître .

Cependant, ces questions peut-être pas sont des doublons (l'intention de l'autre auteur n'est pas claire). Quoi qu'il en soit, cette question et ses réponses concernent spécifiquement l'exécution de cellules dans un ordinateur portable jupyter à partir du terminal , pas simplement la conversion des ordinateurs portables en fichiers python .

33
pylang

Vous pouvez utiliser runipy pour ce faire.

runipy exécutera toutes les cellules d'un bloc-notes. Si une erreur se produit, le processus s'arrête.

$ pip install runipy

$ runipy MyNotebook.ipynb

Il existe également des commandes pour enregistrer le fichier de sortie en tant que bloc-notes ou rapport html:

$ runipy MyNotebook.ipynb OutputNotebook.ipynb

$ runipy MyNotebook.ipynb --html report.html

27
RajeshM

nbconvert (un outil jupyter pour la conversion de cahier) vous permet de faire ceci sans aucun paquet supplémentaire:

Accédez simplement à votre terminal et saisissez

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

Source

(Merci Stephan d'avoir suggéré le --inplace drapeau)

63
geekazoid

Vous pouvez également essayer papermill qui vous permet d'exécuter des blocs-notes à partir de la ligne de commande, et également de passer des paramètres:

Par exemple:

$ papermill mynotebook.ipynb mynotebook_output.ipynb -p start "2017-11-01" -p end "2017-11-30"

Vous pouvez également l'exécuter sans passer de paramètre.

2
Giacomo