Tak, jest to możliwe i łatwe, będzie (głównie) w rdzeniu IPython dla 2.0, sugerowałbym przyjrzenie się tym przykładom na razie.
[edytować]
$ jupyter nbconvert --to notebook --execute original.ipynb --output=new.ipynb
Jest teraz w Jupyter NbConvert. NbConvert zawiera kilka opcji, Preprocessor
które są domyślnie wyłączone, a dwa z nich ( ClearOutputPreprocessor
i ExecutePreprocessor
) są interesujące. Możesz je włączyć w swoich (lokalnych | globalnych) plikach konfiguracyjnych za pomocą c.<PreprocessorName>.enabled=True
(Wielkie litery to python) lub w wierszu poleceń, --ExecutePreprocessor.enabled=True
zachowując resztę polecenia jak zwykle.
--ExecutePreprocessor.enabled=True
Posiada dogodne --execute
alias, które można wykorzystać na najnowszej wersji NbConvert. W --inplace
razie potrzeby można go łączyć
Na przykład przekonwertuj na html po uruchomieniu notebooka bez głowy:
$ jupyter nbconvert --to=html --execute RunMe.ipynb
konwersja do formatu PDF po usunięciu danych wyjściowych
$ ipython nbconvert --to=pdf --ClearOutputPreprocessor.enabled=True RunMe.ipynb
To (oczywiście) działa z jądrem innym niż Python, tworząc <insert-your-language-here>
jądro, jeśli ustawisz --profile=<your fav profile>
. Konwersja może trwać naprawdę długo, o ile wymaga ponownego uruchomienia notebooka. Możesz dokonać konwersji notebooka na notebook z --to=notebook
opcją.
Istnieje wiele innych opcji (przekroczenie limitu czasu, zezwalanie na błędy, ...), które mogą wymagać ustawienia / wyłączenia w zależności od przypadku użycia. Zobacz dokumentację i oczywiście jupyter nbconvert --help
, --help-all
czy nbconvert dokumentacji online , aby uzyskać więcej informacji.
$ ipnbdocttest.py original.ipynb new.ipynb
gist.github.com/davidshinn/6110231