본문 바로가기

개발하자

대화형으로 IPython/Jupyter 노트북 실행

반응형

대화형으로 IPython/Jupyter 노트북 실행

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

좀 더 구체적으로 말하자면, 이미 노트북이 있고 해당 노트북에 있는 모든 셀을 다시 실행하고 새 노트북에 결과를 저장하려고 하지만, 브라우저나 커널 또는 웹 서버를 닫거나 커널 또는 웹 서버가 이미 실행되고 있지 않다고 가정할 때 명령줄에서 단일 명령을 사용하여 이 작업을 수행합니다.

명령 예제:

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




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

ipython notebook --pylab inline

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




네, 가능하고 간단합니다. 2.0용으로 (대부분) 아이피톤 코어에 있을 것입니다. 지금은 검토해 볼 것을 제안합니다.

[편집]

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

그것은 현재 주피터 Nb컨버트에 있다. NbConvert에는 기본적으로 사용하지 않도록 설정된 여러 개가 함께 제공되며, 그 중 두 개( 및 )가 관심사입니다. (python인 대문자)를 통해 (local|global) 구성 파일에서 사용하도록 설정하거나 명령의 나머지 부분을 평소와 같이 유지하여 명령줄에서 사용하도록 설정할 수 있습니다.

에는 최신 버전의 NbConvert에서 사용할 수 있는 편리한 별칭이 있습니다. 원하는 경우 와 결합할 수 있다

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

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

출력을 제거한 후 PDF로 변환

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

이것은 (물론) 커널을 설정하면 커널을 생성하여 비 파이썬 커널에서 작동합니다. 노트북을 다시 실행해야 하기 때문에 변환이 정말 길어질 수 있습니다. 옵션을 사용하여 노트북에서 노트북으로 변환할 수 있습니다.

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




이 기능이 핵심의 일부가 될 때까지, 저는 당신이 원하는 것을 해주는 작은 명령줄 앱을 만들었습니다. 그것은 runipy라고 불리며 당신은 그것을 설치할 수 있다. 그.




병렬 작업자, 입력 매개 변수, 전자 메일 보내기 또는 S3 입력/출력과 같은 일부 기능을 포함하려면... 주피터-러너를 설치할 수 있습니다

pip install jupyter-runner

github에서 나를 읽어줘:




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

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



또 다른 방법은 사용하는 것이다

사용 예: (실행 결과를 저장할 출력 경로를 지정해야 함)

papermill your_notebook.ipynb logs/yourlog.out.ipynb

각 파라미터에 대해 플래그를 지정하려면 필수 파라미터를 지정할 수도 있습니다:

papermill your_notebook.ipynb logs/yourlog.out.ipynb -p env "prod" -p tests "e2e"

papermill과 관련된 하나가 더 있습니다 -


반응형