Ich habe Code in einer .ipynb-Datei und habe ihn an einen Punkt gebracht, an dem ich die "interaktive" Funktion von IPython Notebook nicht wirklich benötige. Ich möchte es einfach direkt von einer Mac-Terminal-Befehlszeile ausführen.
Wenn dies nur eine .py-Datei wäre, könnte ich meiner Meinung nach python filename.py einfach über die Befehlszeile ausführen. Gibt es etwas Ähnliches für eine .ipynb-Datei?
Über die Befehlszeile können Sie ein Notizbuch mit folgendem Befehl in python konvertieren:
ipython nbconvert --to python <YourNotebook>.ipynb
Möglicherweise müssen Sie das Paket python mistune installieren:
Sudo pip install mistune
mit nbconvert können Sie Notizbücher mit der Markierung --execute
ausführen:
jupyter nbconvert --execute <notebook>
Wenn Sie ein Notizbuch ausführen und ein neues Notizbuch erstellen möchten, können Sie --to notebook
hinzufügen:
jupyter nbconvert --execute --to notebook <notebook>
Oder wenn Sie ersetzen das vorhandene Notebook mit der neuen Ausgabe:
jupyter nbconvert --execute --to notebook --inplace <notebook>
Da dies ein sehr langer Befehl ist, können Sie einen Alias verwenden:
alias nbx="jupyter nbconvert --execute --to notebook"
nbx [--inplace] <notebook>
Für neue Version anstelle von:
ipython nbconvert --to python <YourNotebook>.ipynb
Du kannst jupyter instend von ipython benutzen:
jupyter nbconvert --to python <YourNotebook>.ipynb
Update mit zitiertem Kommentar des Autors zur besseren Sichtbarkeit:
Anmerkung des Autors "Dieses Projekt wurde vor der Ausführungs-API von Jupyter gestartet. Dies ist nun die empfohlene Methode, um Notizbücher über die Befehlszeile auszuführen. Betrachten Sie runipy als veraltet und nicht mehr gepflegt." - Sebastian Palma
Installieren Sie die runipy-Bibliothek, mit der Sie Ihren Code auf dem Terminal ausführen können
pip install runipy
Nachdem Sie Ihren Code kompiliert haben:
runipy <YourNotebookName>.ipynb
Sie können auch Cronjob ausprobieren. Alle Informationen sind hier