Jupyter Notebook은 웹 브라우저를 통해 실행되는 오픈 소스 인터랙티브 컴퓨팅 환경입니다. 코드, 텍스트, 수식, 이미지 등 다양한 형태의 콘텐츠를 하나의 문서에 통합하여 작성, 실행 및 저장할 수 있어 코딩과 문서화를 동시에 할 수 있다는 장점이 있습니다. 그리고 Python뿐 아니라 R, Julia, Scala 등 40개 이상의 프로그래밍 언어를 지원합니다. 작성한 노트북을 동료와 공유하거나 GitHub, Binder, JupyterHub 등의 플랫폼을 통해 배포할 수 있어 데이터 과학, 머신러닝 연구, 교육 및 문서화에 매우 유용합니다.
커널(Kernel): Jupyter Notebook에서 사용자가 입력한 코드를 실제로 실행하는 백엔드 프로세스이며 각 언어에 맞는 커널이 존재합니다. 예를 들어 Python의 경우 ipykernel이 커널로 사용됩니다
확장자: Jupyter Notebook은 .ipynb 확장자를 갖는 JSON 기반의 문서 형식을 사용합니다. 이 파일은 코드 셀, 마크다운 셀, 출력 결과, 메타데이터 등을 모두 포함합니다.
1 Jupyter Notebook의 주요 기능
Jupyter Notebook은 초보자도 쉽게 시작할 수 있는 직관적 기능과 동시에 전문가가 심화 분석을 수행할 수 있는 다양한 확장 및 커스터마이징 옵션을 제공합니다.
1.1 코드 실행 및 문서화
인터랙티브 코드 실행: 셀 단위로 코드를 작성하고 실행하여 그 결과를 즉시 확인할 수 있습니다. 이는 데이터 분석, 시뮬레이션 및 머신러닝 모델 개발 시 신속한 피드백을 가능하게 합니다.
Markdown 및 LaTeX 지원: Markdown 셀을 이용해 설명 텍스트, 수식, 표 등을 삽입할 수 있으며 LaTeX 수식은 MathJax를 통해 렌더링됩니다.
단축키 및 모드: Jupyter Notebook은 셀 선택(커맨드 모드)와 코드 편집(에디트 모드) 등 두 가지 모드를 제공하며 다양한 단축키를 통해 작업 효율을 극대화할 수 있습니다.
1.2 데이터 시각화 도구 통합
Jupyter Notebook은 Matplotlib, Seaborn, Plotly, Bokeh 등 다양한 시각화 라이브러리와 원활하게 통합됩니다. 또한 코드를 실행하면 결과가 셀 바로 아래에 출력되며, 이를 통해 데이터 분석 및 모델 개발 과정에서 식별된 패턴 및 이상치를 즉시 확인할 수 있습니다.
2 Jupyter Notebook 설치
Jupyter Notebook은 다양한 방식으로 설치할 수 있으며 사용 목적 및 사용자 환경에 따라 선택할 수 있습니다. 2025년도 기준으로 저는 pixi혹은 uv를 사용하는 것을 권장드립니다. pixi를 사용한다면 pixi add jupyterlab, uv를 사용한다면 uv add jupyterlab으로 설치할 수 있습니다.
3 Jupyter Notebook 실행
Jupyter Notebook을 실행하는 방법은 다음과 같습니다:
명령 프롬프트 또는 터미널 실행:
Windows에서는 검색창에 “cmd”를 입력하고 엔터를 눌러 명령 프롬프트를 실행합니다.
macOS나 Linux에서는 터미널을 엽니다.
Jupyter Notebook 실행 명령어 입력:
명령 프롬프트나 터미널에서 다음 명령어를 입력합니다:
jupyter-lab
그러면 Jupyter Notebook 서버가 시작됩니다.
웹 브라우저 자동 실행:
Jupyter Notebook 서버가 시작되면 기본 웹 브라우저가 자동으로 열리며 Jupyter Notebook 인터페이스가 표시됩니다.
새 노트북 생성 또는 기존 노트북 열기:
새 노트북을 만들려면 웹 인터페이스의 오른쪽 상단에 있는 “New” 버튼을 클릭하고 “Python 3”을 선택합니다.
기존 노트북을 열려면 파일 목록에서 원하는 .ipynb 파일을 클릭합니다.
Jupyter Notebook이 실행되면 코드 작성, 실행, 데이터 분석 등의 작업을 수행할 수 있습니다.
322 ns ± 2.13 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
5 교육 및 연구 재현성 확보
5.1 교육용 템플릿:
Jupyter Notebook은 Markdown과 코드 셀을 결합하여 학습 자료 및 실습 자료를 제작하기 좋습니다. 코로나19 데이터 분석 예제와 같이 단계별 주석과 설명을 포함한 템플릿을 활용하면 학생들이 실습을 통해 데이터 분석 기법을 배울 수 있습니다.
5.2 연구 재현성:
Binder, JupyterHub, Docker 컨테이너를 통해 동일한 실행 환경을 재현 가능하게 만들어 연구 결과의 재현성을 높일 수 있습니다. 또한 노트북 파일과 함께 환경 구성 파일을 공유하는 방식이 흔히 사용됩니다.
5.3 다중 커널 연동:
Python과 R 커널을 함께 사용하여 상호 간 데이터를 교환하고 분석할 수 있습니다. 예를 들어 매직 명령어 %R을 사용하여 Python 데이터 프레임을 R로 전달한 다음 R의 통계 함수를 활용하는 방법도 있습니다.
6 문제 해결 가이드
커널 연결 오류: Jupyter Notebook에서 커널 연결 오류가 발생했을 경우 다음 사항을 확인해야 합니다:
Python 버전이 Jupyter Notebook과 호환되는지 확인합니다.
필요한 패키지의 종속성이 올바르게 설치되었는지 점검합니다.
방화벽 설정을 확인하여 커널이 제대로 연결될 수 있도록 허용합니다.
7 마치며
Jupyter Notebook은 초보자부터 전문가까지 모두 사용할 수 있는 강력한 인터랙티브 컴퓨팅 도구입니다. Jupyter Notebook은 앞으로도 인공지능, 빅데이터, 연구 재현성 확보 등 다양한 분야에서 핵심 도구로 자리잡고 있습니다. 그러니 데이터 기반의 의사결정, 교육 자료 개발, 연구 성과 공유 등 여러 방면에서 효율적으로 적용하도록 하세요.