터미널에서 .ipynb Jupyter Notebook을 실행하는 방법은 무엇입니까?


159

.ipynb 파일에 코드가 있는데 실제로 IPython Notebook의 "대화식"기능이 필요하지 않은 지점에 도달했습니다. Mac 터미널 명령 줄에서 바로 실행하고 싶습니다.

기본적으로 이것이 .py 파일 인 경우 명령 줄에서 python filename.py를 수행 할 수 있다고 생각합니다. .ipynb 파일과 비슷한 것이 있습니까?


이 같은 것 : github.com/paulgb/runipy ?
idjaw

그런 것. inputipython 노트북에 몇 가지 문장 이 있는데 , 문제가있는 것 같습니다
Vincent

답변:


107

명령 행에서 다음 명령으로 노트북을 파이썬으로 변환 할 수 있습니다.

jupyter nbconvert --to python nb.ipynb

https://github.com/jupyter/nbconvert

python mistune 패키지 를 설치해야 할 수도 있습니다 .

sudo pip install -U mistune

14
하위 명령 ipython nbconvert은 jupyter nbconvert를 위해 사용되지 않습니다
PenguinEngineer

6
이 답변이 옳지 않다고 생각합니다. II는 그것이 작동한다는 것을 알고 있지만 문제는 터미널에서 .ipynb를 실행하는 방법이 아니라 .py로 변환 한 다음 실행하는 방법입니다.
Giacomo

3
셀을 실행하는 데 30 초 이상 걸리는 경우 Nbconvert가 실패합니다 --ExecutePreprocessor.timeout=600. 추가 할 수 있습니다 .
bckygldstn

최신 업데이트는 다음과 같이 작동합니다. 노트북 파일에서 HTML을 가져옵니다jupyter-nbconvert --execute 03-Print\ Formatting\ with\ Strings.ipynb
b-ak

160

nbconvert를 사용하면 다음과 같은 --execute플래그로 노트북을 실행할 수 있습니다 .

jupyter nbconvert --execute <notebook>

노트북을 실행하고 새 노트북을 생산하려는 경우 다음을 추가 할 수 있습니다 --to notebook.

jupyter nbconvert --execute --to notebook <notebook>

또는 기존 노트북을 새 출력 으로 교체 하려는 경우 :

jupyter nbconvert --execute --to notebook --inplace <notebook>

정말 긴 명령이므로 별칭을 사용할 수 있습니다.

alias nbx="jupyter nbconvert --execute --to notebook"
nbx [--inplace] <notebook>

1
이것은 콘다 가상 환경에서 작동하지 않는 것 같습니다
Ramesh-X

9
이것은 노트북을 정적 HTML 페이지로 바꿉니다
Jim Daniël Teunis

3
노트북을 실행하는 설명서 또는이 방법 및 프로그래밍 방식은 nbconvert.readthedocs.io/en/latest/…
TomDotTom

실행할 셀을 지정하는 방법이 있습니까? 예를 들어 셀 10과 아래 또는 모두 10 또는 셀 20의 범위 셀입니다.
Al Conrad

2
또한 오래 실행되는 셀이있는 경우 제한없이 사용할 수 있습니다 . --ExecutePreprocessor.timeout=[timeout_in_seconds]-1
Zaccharie Ramzi

38

모든 코드를 내보내고 스크립트 .ipynb로 저장할 수 .py있습니다. 그런 다음 터미널에서 스크립트를 실행할 수 있습니다.

코드 내보내기 샘플

도움이 되길 바랍니다.


이 답변 (y)
ColinMac

3
원래 질문에 대답하지 않습니다
baxx

14

터미널에서 ipython을 실행하십시오.

ipython

그런 다음 스크립트를 찾아서 넣으십시오.

%run your_script.ipynb

어떻게 이것을 쉘 스크립트에 넣을 수
있습니까

1
이것이 가장 실용적인 답입니다.
Ed Williams

10

대신에 새 버전의 경우 :

ipython nbconvert --to python <YourNotebook>.ipynb

ipython의 jupyter instend를 사용할 수 있습니다.

jupyter nbconvert --to python <YourNotebook>.ipynb

이것이 어떻게 질문에 대한 답입니까?
baxx

4

더 나은 가시성을 위해 작성자가 인용 한 주석으로 업데이트하십시오.

저자의 메모 "이 프로젝트는 Jupyter의 실행 API 이전에 시작되었으며, 이제 명령 행에서 노트북을 실행하는 것이 권장되는 방법입니다. 더 이상 사용되지 않는 유지 관리를 고려하십시오." – 세바스찬 팔마

터미널에서 코드를 실행할 수있는 Runipy 라이브러리 설치

pip install runipy

코드를 컴파일 한 후 :

runipy <YourNotebookName>.ipynb

cronjob도 시도 할 수 있습니다. 모든 정보는 여기에


11
저자의 메모 "이 프로젝트는 Jupyter의 실행 API 이전에 시작되었으며, 이제 명령 행에서 노트북을 실행하는 것이 권장되는 방법입니다. 더 이상 사용되지 않는 유지 관리를 고려하십시오."
Sebastian Palma

3

제 경우에는 가장 적합한 명령은 다음과 같습니다.

jupyter nbconvert --execute --clear-output <notebook>.ipynb

왜? 이 명령은 파일과 같은 추가 파일을 생성하지 않으며 .py노트북이 실행될 때마다 셀의 출력을 덮어 씁니다.

당신이 실행하는 경우 :

jupyter nbconvert --help

--clear-output 현재 파일의 출력을 지우고 저장하여 기존 노트북을 덮어 씁니다.



0

터미널 런에서

jupyter nbconvert --execute --to notebook --inplace --allow-errors --ExecutePreprocessor.timeout=-1 my_nb.ipynb

기본 시간 초과는 30 초입니다. -1은 제한을 제거합니다.

출력 노트북을 새 노트북에 저장하려면 플래그를 사용할 수 있습니다 --output my_new_nb.ipynb


0

나는 같은 문제가 있었고 제지 공장을 찾았 습니다 . 다른 솔루션에 비해 장점은 노트북이 실행되는 동안 결과를 볼 수 있다는 것입니다. 노트북이 오래 걸리면이 기능이 흥미로워집니다. 사용하기 매우 쉽습니다 :

pip install papermill
papermill notebook.ipynb output.ipynb

또한 출력 파일을 Amazon S3, Google Cloud 등에 저장하는 등의 편리한 옵션도 있습니다. 자세한 내용은 페이지를 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.