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/6110231ipython nbconvert --to=html --execute RunMe.ipynb
--ExecutePreprocessor.timeout=-1
refjupyter nbconvert --to notebook --execute --allow-errors notebook.ipynb
może odpowiedź może być edytowanyDopóki ta funkcja nie stanie się częścią rdzenia, stworzyłem małą aplikację wiersza poleceń, która robi dokładnie to, co chcesz. Nazywa się runipy i możesz go zainstalować za pomocą
pip install runipy
. Źródło i readme są na github .źródło
signature
pola, aw konsekwencji (cóż, myślę, że jest to konsekwencja), żaden z moich plików SVG nie jest faktycznie renderowany: IPython woli__repr__
zamiast tego wyświetlać zwykłe renderowanie tekstowe .Uruchom i zamień oryginalny plik .ipunb:
jupyter nbconvert --ExecutePreprocessor.timeout=-1 --to notebook --inplace --execute original.ipynb
źródło
Aby pokryć niektóre funkcje, takie jak pracownicy równolegli, parametry wejściowe, wysyłanie wiadomości e-mail lub wejście / wyjście S3 ... możesz zainstalować jupyter-runner
Readme na github: https://github.com/omar-masmoudi/jupyter-runner
źródło
Możesz po prostu uruchomić serwer iPython-Notebook za pomocą wiersza poleceń:
Spowoduje to uruchomienie serwera w trybie nieinteraktywnym, a wszystkie dane wyjściowe zostaną wydrukowane pod kodem. Następnie możesz zapisać plik .ipynb, który zawiera kod i dane wyjściowe.
źródło