본문 바로가기

개발하자

터미널에서 .ipynb 주피터 노트북을 실행하는 방법?

반응형

터미널에서 .ipynb 주피터 노트북을 실행하는 방법?

나는 .ipynb 파일에 코드를 몇 개 가지고 있고 아이피톤 노트북의 "인터랙티브" 기능이 필요 없을 정도로 코드를 가지고 있다. 맥 터미널 명령줄에서 바로 실행하고 싶습니다.

기본적으로 이것이 .py 파일이라면 명령 줄에서 할 수 있다고 생각합니다. .ipynb 파일과 비슷한 것이 있나요?




에서 모든 코드를 내보내고 스크립트로 저장할 수 있습니다. 그러면 단말기에서 스크립트를 실행할 수 있습니다.

code export sample

도움이 됐으면 좋겠네요.




명령행에서 다음 명령으로 노트북을 python으로 변환할 수 있습니다:

jupyter nbconvert --to python nb.ipynb

https://github.com/jupyter/nbconvert

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

sudo pip install -U mistune



nbconvert를 사용하면 다음과 같은 플래그가 있는 노트북을 실행할 수 있습니다:

jupyter nbconvert --execute <notebook>

노트북을 실행하여 새 노트북을 생성하려면 다음을 추가할 수 있습니다:

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

또는 새 출력이 있는 기존 노트북을 원하는 경우:

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

긴 명령어이므로 별칭을 사용할 수 있습니다:

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



더 나은 가시성을 위해 작성자가 인용한 의견으로 업데이트:

작성자의 노트 "이 프로젝트는 주피터가 API를 실행하기 전에 시작되었으며, 이제는 명령 줄에서 노트북을 실행하는 권장 방법이 되었다. 룬피는 가치가 떨어지고 유지되지 않는다고 생각하라." – Sebastian Palma

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

pip install runipy

코드만 컴파일하면 됩니다:

runipy <YourNotebookName>.ipynb

cronjob도 가능합니다. 모든 정보는




대신 새 버전인 경우:

ipython nbconvert --to python <YourNotebook>.ipynb

ipython 대신 주피터를 사용할 수 있습니다:

jupyter nbconvert --to python <YourNotebook>.ipynb



나의 경우, 나에게 가장 잘 맞는 명령어는 다음과 같다:

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

왜일까요? 이 명령어는 (파일처럼) 여분의 파일을 만들지 않으며, 노트북이 실행될 때마다 셀의 출력을 덮어씁니다.

실행할 경우:

jupyter nbconvert --help

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




터미널에서 ipython을 실행할 때:

ipython

그런 다음 스크립트를 찾아 다음을 입력합니다:

%run your_script.ipynb



이 패키지를 사용하여 파이썬 코드 내에서 노트북을 실행할 수도 있습니다.

from boar.running import run_notebook

outputs = run_notebook("nb.ipynb")

노트북을 업데이트하면 파이썬 파일로 다시 변환할 필요가 없습니다.


자세한 내용은 다음 사이트에서 확인할 수 있습니다:

https://github.com/alexandreCameron/boar/blob/master/USAGE.md




터미널 실행부터

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

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

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




나도 똑같은 문제가 있었는데 발견했어. 다른 솔루션에 비해 노트북이 실행되는 동안 결과를 볼 수 있다는 장점이 있습니다. 나는 노트북이 매우 오래 걸릴 때 이 기능이 재미있다고 생각한다. 사용하기 매우 쉽습니다:

pip install papermill
papermill notebook.ipynb output.ipynb

또한 출력 파일을 아마존 S3, 구글 클라우드 등에 저장하는 등의 다른 편리한 옵션도 있습니다. 자세한 내용은 페이지를 참조하십시오.




사용 방법:

ipython --TerminalIPythonApp.file_to_run=<notebook>.ipynb

일반적으로, 나는 이것이 정말로 자기 설명적이기 때문에 이 옵션을 선호한다. 문자를 적게 사용하려면 다음을 사용합니다:

ipython -c "%run <notebook>.ipynb"

이것은 기본적으로 이미 ( unfortun으로 조금 숨겨진) a로 제안된 것이다.




사용할 수도 있습니다.

이를 통해 노트북을 페어링할 수 있습니다. 따라서 각 파일마다 주석이 포함된 파일이 있습니다. 파일은 평소대로 실행할 수 있다. 하지만 추가 파일 하나의 비용으로 두 세계의 이점을 누릴 수 있습니다.

아 그리고 버전 컨트롤을 사용하는 경우 추한 diff 대신 멋진 diff만 있는 파일을 커밋할 수 있습니다.

(파일의 구문은 익숙한 Databricks 노트북과 비슷합니다...)




아래 내용을 일괄 파일로 붙여넣습니다. ipython을 사용하여 .ipynb 파일을 실행합니다.

@echo on
call "C:\ProgramData\Anaconda3\Scripts\activate.bat"
ipython "path\test.ipynb"
pause



저는 이 주제에 대해 몇 가지 조사를 해보았고, 제가 발견한 내용을 요약해서 아래에 기사를 썼습니다.

1. 쓰임

패키지는 주피터 노트북에 이미 설치되어 있습니다. 공책을 실행하는데 사용할 수 있다. 이 외에도 다음과 같은 기능이 있다:

  • 공책을 PDF나 HTML로 내보낼 수 있다,
  • 출력 노트에 코드를 숨길 수 있습니다,
  • 셀에 오류가 있어도 노트북을 실행할 수 있습니다.

노트북 실행 예제:

jupyter nbconvert --execute --to notebook --allow-errors your-notebook.ipynb 

위 명령어는 파일을 출력하고 오류가 있어도 모든 셀을 실행할 것이다.

2. 쓰임

에서는 노트북을 매개 변수화할 수 있습니다. 변수를 (셀 태그가 있는) 모수로 정의할 수 있습니다.

명령 예제:

papermill -p name Piotrek your-notebook.ipynb output-notebook.ipynb

매개변수가 주입된 노트북 예제:

3. 수동으로 노트북을 스크립트로 다운로드

수동으로 노트북을 스크립트로 다운로드할 수 있는 옵션이 있습니다:

download notebook as Python script

다운로드 후 파일에 실행 권한을 추가하고 명령줄 스크립트로 실행할 수 있습니다.

4. 쓰임

패키지를 사용하면 파일을 파일과 동기화할 수 있습니다. 노트북을 수동으로 스크립트로 변환할 필요는 없습니다.




이제 노트북을 실행할 하위 명령이 있습니다.

jupyter run notebook.ipynb

이 명령에 대한 자세한 내용은 에서 확인할 수 있습니다.


반응형