[ipython] 비대화 형으로 IPython / Jupyter 노트북 실행

명령 줄에서 비대화 형으로 IPython / Jupyter 노트북을 실행하고 결과 .ipynb파일을 실행 결과와 함께 저장할 수 있는지 아는 사람이 있습니까? 아직 가능하지 않다면 phantomJS, 커널을 켜고 끄는 것, 웹 서버를 켜고 끄는 것을 구현하는 것이 얼마나 어려울까요?

좀 더 구체적으로 말하자면 이미 노트북이 original.ipynb있고 해당 노트북의 모든 셀을 다시 실행하고 결과를 새 노트북에 저장 한다고 가정 해 보겠습니다.new.ipynb .하지만 브라우저 나 브라우저에서 상호 작용할 필요없이 명령 줄에서 하나의 명령으로이 작업을 수행합니다. 커널 또는 웹 서버를 닫고 이미 실행중인 커널 또는 웹 서버가 없다고 가정합니다.

예제 명령 :

$ ipython notebook run original.ipynb --output=new.ipynb



답변

예, 가능하고 쉽습니다. (대부분) 2.0 용 IPython 코어에있을 것 입니다. 지금 은 해당 예제 를 살펴 보는 것이 좋습니다 .

[편집하다]

$ jupyter nbconvert --to notebook --execute original.ipynb --output=new.ipynb

이제 Jupyter NbConvert에 있습니다. NbConvert는 Preprocessor기본적으로 비활성화되어 있는 여러 개의를 제공하며 그중 두 개 ( ClearOutputPreprocessorExecutePreprocessor)가 중요합니다. c.<PreprocessorName>.enabled=True(대문자는 python)을 통해 (local | global) 구성 파일에서 활성화 하거나 명령 줄 --ExecutePreprocessor.enabled=True에서 나머지 명령을 평소 와 같이 유지합니다.

--ExecutePreprocessor.enabled=True편리한이 --executeNbConvert의 최신 버전에서 사용할 수있는 별칭을. 다음과 결합 될 수 있습니다.--inplace원하는 경우

예를 들어 헤드리스 노트북을 실행 한 후 html로 변환합니다.

$ jupyter nbconvert --to=html --execute RunMe.ipynb

출력물을 제거한 후 PDF로 변환

$ ipython nbconvert --to=pdf --ClearOutputPreprocessor.enabled=True RunMe.ipynb

이것은 (물론) .NET <insert-your-language-here>을 설정하면 커널을 생성하여 비 파이썬 커널에서 작동합니다 --profile=<your fav profile>. 변환은 노트북을 다시 실행해야하는 한 정말 오래 걸릴 수 있습니다. 노트북에서 노트북으로 변환 할 수 있습니다.--to=notebook옵션으로 .

사용 사례에 따라 설정 / 설정 해제해야 할 수있는 다양한 기타 옵션 (시간 초과, 허용 오류 등)이 있습니다. 자세한 내용은 설명서 및 물론 jupyter nbconvert --help, --help-all또는 nbconvert 온라인 설명서 를 참조하십시오.


답변

이 기능이 핵심의 일부가 될 때까지 원하는 작업을 수행하는 작은 명령 줄 앱을 모았습니다. runipy라고하며 pip install runipy. 소스와 추가 정보는 github에 있습니다 .


답변

원본 .ipunb 파일을 실행하고 바꿉니다.

jupyter nbconvert --ExecutePreprocessor.timeout=-1 --to notebook --inplace --execute original.ipynb


답변

병렬 작업자, 입력 매개 변수, 이메일 전송 또는 S3 입력 / 출력과 같은 일부 기능을 다루기 위해 jupyter-runner를 설치할 수 있습니다.

pip install jupyter-runner

github에 대한 읽어보기 : https://github.com/omar-masmoudi/jupyter-runner


답변

명령 줄을 통해 iPython-Notebook-server를 실행할 수 있습니다.

ipython notebook --pylab inline

이렇게하면 비대화 형 모드로 서버가 시작되고 모든 출력이 코드 아래에 인쇄됩니다. 그런 다음 코드 및 출력을 포함하는 .ipynb- 파일을 저장할 수 있습니다.


답변