이 출시되었습니다! 11월의 새로운 기능 및 수정 사항을 읽어보세요.

VS Code의 Jupyter Notebook

Jupyter (이전 IPython Notebook)는 Markdown 텍스트와 실행 가능한 Python 소스 코드를 **notebook**이라는 하나의 캔버스에 쉽게 결합할 수 있는 오픈 소스 프로젝트입니다. Visual Studio Code는 Jupyter Notebook을 네이티브로 지원하며, Python 코드 파일을 통해 지원합니다. 이 항목에서는 Jupyter Notebook에 대한 네이티브 지원을 다루고 다음을 수행하는 방법을 시연합니다.

  • Jupyter Notebook 생성, 열기 및 저장
  • Jupyter 코드 셀 작업
  • 변수 탐색기 및 데이터 뷰어를 사용하여 변수 보기, 검사 및 필터링
  • 원격 Jupyter 서버에 연결
  • Jupyter Notebook 디버깅

환경 설정

Jupyter Notebook에서 Python을 사용하려면 VS Code에서 Anaconda 환경 또는 Jupyter 패키지를 설치한 다른 Python 환경을 활성화해야 합니다. 환경을 선택하려면 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 **Python: 인터프리터 선택** 명령을 사용합니다.

적절한 환경이 활성화되면 Jupyter Notebook을 만들고 열고, 원격 Jupyter 서버에 연결하여 코드 셀을 실행하고, Jupyter Notebook을 Python 파일로 내보낼 수 있습니다.

작업 영역 신뢰

Jupyter Notebook을 시작할 때 신뢰할 수 있는 작업 영역에서 작업하고 있는지 확인해야 합니다. Notebook에 악성 코드가 포함될 수 있으며, 작업 영역 신뢰 기능을 통해 어떤 폴더와 해당 콘텐츠에서 자동 코드 실행을 허용하거나 제한할지 표시할 수 있습니다.

VS Code가 신뢰할 수 없는 작업 영역에서 제한 모드에서 실행 중일 때 Notebook을 열려고 하면 셀을 실행할 수 없으며 풍부한 출력은 숨겨집니다.

Jupyter Notebook 생성 또는 열기

명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 **만들기: 새 Jupyter Notebook** 명령을 실행하거나 작업 영역에 새 .ipynb 파일을 만들어 Jupyter Notebook을 생성할 수 있습니다.

Blank Jupyter Notebook

다음으로, 오른쪽 상단의 커널 선택기에서 커널을 선택합니다.

Kernel Picker

커널을 선택한 후 각 코드 셀의 오른쪽 하단에 있는 언어 선택기가 커널에서 지원하는 언어로 자동으로 업데이트됩니다.

Language Picker

기존 Jupyter Notebook이 있는 경우 파일을 마우스 오른쪽 버튼으로 클릭하여 VS Code로 열거나 VS Code 파일 탐색기를 통해 열 수 있습니다.

셀 실행

단일 코드 셀 실행

코드를 추가한 후 셀 왼쪽의 **실행** 아이콘을 사용하여 셀을 실행하면 해당 출력이 코드 셀 아래에 표시됩니다.

Run Jupyter code cell

선택한 코드 셀을 실행하기 위해 명령 및 편집 모드 모두에서 키보드 단축키를 사용할 수도 있습니다. Ctrl+Enter는 현재 선택된 셀을 실행합니다. Shift+Enter는 현재 선택된 셀을 실행하고 바로 아래에 새 셀을 삽입합니다(포커스가 새 셀로 이동). Alt+Enter는 현재 선택된 셀을 실행하고 바로 아래에 새 셀을 삽입합니다(포커스는 현재 셀에 유지됨).

여러 코드 셀 실행

여러 코드 셀을 실행하는 방법은 다양합니다. Notebook 편집기의 메인 도구 모음에서 이중 화살표를 사용하거나, 현재 코드 셀 위 또는 아래에 있는 **모두 실행**, **모두 위 실행** 또는 **모두 아래 실행**을 선택하여 모든 셀을 실행할 수 있습니다.

Run multiple code cells

섹션별 셀 실행

Notebook에서 관련 셀을 더 쉽게 실행하려면 Markdown 섹션 머리글로 그룹화된 셀을 **섹션별 셀 실행** 작업을 사용하여 실행할 수 있습니다. 이 작업은 Notebook 개요 보기 및 고정 스크롤 요소에서 사용할 수 있습니다.

고정 스크롤 요소 내에서 원하는 머리글을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴의 작업을 통해 섹션을 실행합니다. 개요 보기 내에서 마우스를 올리거나 선택할 때 나타나는 도구 모음 아이콘을 선택한 다음 표시되는 작업에 따라 단일 셀 또는 셀 섹션을 실행합니다.

Jupyter Notebook 저장

키보드 단축키 Ctrl+S 또는 **파일** > **저장**을 사용하여 Jupyter Notebook을 저장할 수 있습니다.

Jupyter Notebook 내보내기

Jupyter Notebook을 Python 파일(.py), PDF 또는 HTML 파일로 내보낼 수 있습니다. 내보내려면 메인 도구 모음에서 **...** > **내보내기**를 선택합니다. 그러면 파일 형식 옵션이 포함된 드롭다운 목록이 표시됩니다.

Convert Jupyter Notebook to Python file

참고: PDF 내보내기에는 TeX가 설치되어 있어야 합니다. 설치되어 있지 않으면 PDF 옵션을 선택할 때 설치해야 한다는 알림이 표시됩니다. 또한 Notebook에 SVG 전용 출력이 있는 경우 PDF에 표시되지 않습니다. PDF에 SVG 그래픽을 포함하려면 출력이 비 SVG 이미지 형식도 포함하도록 하거나 HTML로 내보낸 다음 브라우저를 사용하여 PDF로 저장해야 합니다.

Notebook 편집기에서 코드 셀 작업

Notebook 편집기를 사용하면 Jupyter Notebook 내에서 코드 셀을 쉽게 생성, 편집 및 실행할 수 있습니다.

코드 셀 생성

기본적으로 빈 Notebook에는 시작할 수 있는 빈 코드 셀이 있고 기존 Notebook에는 맨 아래에 셀이 배치됩니다. 시작하려면 빈 코드 셀에 코드를 추가하세요.

msg = "Hello world"
print(msg)

Simple Jupyter code cell

코드 셀 모드

코드 셀을 작업하는 동안 셀은 세 가지 상태(선택 안 됨, 명령 모드, 편집 모드)를 가질 수 있습니다. 코드 셀 왼쪽의 세로 막대와 편집기 테두리가 셀의 현재 상태를 보여줍니다. 막대가 보이지 않으면 셀이 선택되지 않은 것입니다. 셀이 선택되면 명령 모드 또는 편집 모드일 수 있습니다.

Unselected Jupyter code cell

명령 모드에서는 셀 왼쪽에 세로 막대가 표시됩니다. 셀을 조작하고 키보드 명령을 수락할 수 있습니다.

Code cell in command mode

편집 모드에서는 세로 막대에 셀 편집기 주위 테두리가 추가됩니다. 셀의 내용(코드 또는 Markdown)을 수정할 수 있습니다.

Code cell in edit mode

모드를 전환하려면 키보드나 마우스를 사용할 수 있습니다. 키보드에서 Enter 키를 눌러 편집 모드로 이동하거나 Esc 키를 눌러 명령 모드로 이동합니다. 마우스를 사용하려면 코드 셀의 코드/Markdown 영역 밖 또는 셀 왼쪽의 세로 막대를 클릭합니다.

추가 코드 셀 추가

메인 도구 모음, 셀의 추가 셀 도구 모음(마우스를 올리면 표시됨) 및 키보드 명령을 사용하여 코드 셀을 추가할 수 있습니다.

Add code cells

현재 선택된 셀 아래에 새 셀을 추가하려면 메인 도구 모음 또는 셀의 마우스 올리기 도구 모음에서 더하기 아이콘을 사용합니다.

코드 셀이 명령 모드일 때 A 키를 사용하여 위쪽에 셀을 추가하고 B 키를 사용하여 선택된 셀 아래에 셀을 추가합니다.

코드 셀 선택

마우스 또는 키보드의 위/아래 화살표 키를 사용하여 선택된 코드 셀을 변경할 수 있습니다. 코드 셀이 명령 모드일 때 J 키(아래)와 K 키(위)를 사용할 수도 있습니다.

여러 코드 셀 선택

여러 셀을 선택하려면 선택 모드에서 셀 하나로 시작합니다. 채워진 배경은 선택된 셀을 나타냅니다. 연속된 셀을 선택하려면 Shift 키를 누른 상태에서 선택하려는 마지막 셀을 클릭합니다. 셀 그룹을 선택하려면 Ctrl 키를 누른 상태에서 추가하려는 셀을 클릭합니다.

Multiselected cells

코드 셀 이동

끌어서 놓기를 통해 Notebook 내에서 셀을 위 또는 아래로 이동할 수 있습니다. 코드 셀의 경우 끌어서 놓기 영역은 아래에 표시된 대로 셀 편집기 왼쪽에 있습니다. 렌더링된 Markdown 셀의 경우 셀을 끌어서 놓으려면 아무 곳이나 클릭할 수 있습니다.

Move a code cell

여러 셀을 이동하려면 선택에 포함된 모든 셀에서 동일한 끌어서 놓기 영역을 사용할 수 있습니다.

키보드 단축키 Alt+화살표도 하나 이상의 선택된 셀을 이동합니다.

코드 셀 삭제

코드를 삭제하려면 코드 셀 도구 모음의 **삭제** 아이콘을 사용할 수 있습니다. 선택된 코드 셀이 명령 모드일 때 키보드 단축키 dd를 사용할 수 있습니다.

Delete a code cell

마지막 변경 내용 실행 취소

키보드 단축키 z를 사용하여 이전 변경 내용을 실행 취소할 수 있습니다. 예를 들어 실수로 편집한 경우 이전 올바른 상태로 실행 취소하거나 실수로 셀을 삭제한 경우 복구할 수 있습니다.

코드와 Markdown 간 전환

Notebook 편집기를 사용하면 코드 셀을 Markdown과 코드 간에 쉽게 변경할 수 있습니다. 셀의 오른쪽 하단에 있는 언어 선택기를 선택하면 Markdown과, 해당하는 경우 선택된 커널에서 지원하는 다른 언어 간에 전환할 수 있습니다.

Change language

키보드를 사용하여 셀 유형을 변경할 수도 있습니다. 셀이 선택되고 명령 모드일 때 M 키는 셀 유형을 Markdown으로 전환하고 Y 키는 셀 유형을 코드로 전환합니다.

Markdown이 설정되면 코드 셀에 Markdown 형식의 내용을 입력할 수 있습니다.

Raw Markdown displayed in code cell

Markdown 셀을 렌더링하려면 셀 도구 모음의 확인 표시를 선택하거나 키보드 단축키 Ctrl+EnterShift+Enter를 사용합니다.

How to render Markdown

Rendered Markdown displayed in code cell

출력 지우기 또는 커널 다시 시작/중단

모든 코드 셀 출력을 지우거나 커널을 다시 시작/중단하려면 메인 Notebook 편집기 도구 모음을 사용하여 수행할 수 있습니다.

Notebook Toolbar

줄 번호 사용/사용 안 함

명령 모드일 때 L 키를 사용하여 단일 코드 셀 내에서 줄 번호 매기기를 사용하거나 사용 안 함으로 설정할 수 있습니다.

Line numbers enabled in code cell

전체 Notebook의 줄 번호 매기기를 전환하려면 명령 모드에서 아무 셀에서나 Shift+L을 사용합니다.

Line numbers enabled for notebook

목차

Notebook을 탐색하려면 활동 표시줄에서 파일 탐색기를 엽니다. 그런 다음 사이드바에서 **개요** 탭을 엽니다.

Table of contents

개요 보기의 필터 컨트롤을 사용하여 Markdown 머리글, 코드 셀 및 코드 셀 기호를 포함할 수 있습니다. 필터는 다음 설정에 해당합니다.

  • notebook.outline.showMarkdownHeadersOnly
  • notebook.outline.showCodeCells
  • notebook.outline.showCodeCellSymbols

참고: 기본적으로 개요에는 Markdown만 표시됩니다. 코드 셀을 표시하려면 **Notebook > 개요: 코드 셀 표시** 설정을 사용하도록 설정하세요.

Jupyter Notebook 편집기에서의 IntelliSense 지원

Python Jupyter Notebook 편집기 창에는 전체 IntelliSense(코드 완성, 멤버 목록, 메서드에 대한 빠른 정보 및 매개변수 힌트)가 있습니다. Notebook 편집기 창에서 입력하는 것도 코드 편집기에서만큼 생산적입니다.

IntelliSense support

변수 탐색기 및 데이터 뷰어

Python Notebook 내에서 현재 Jupyter 세션의 변수를 보거나, 검사하거나, 정렬하거나, 필터링할 수 있습니다. 코드를 실행하고 셀을 실행한 후 메인 도구 모음에서 **변수** 아이콘을 선택하면 현재 변수 목록이 표시되며, 코드를 사용하여 변수를 사용할 때마다 자동으로 업데이트됩니다. 변수 창은 Notebook 맨 아래에 열립니다.

Variable Explorer

Variable Explorer

데이터 뷰어

변수에 대한 추가 정보를 얻으려면 행을 두 번 클릭하거나 변수 옆의 **데이터 뷰어에서 변수 표시** 버튼을 사용하여 데이터 뷰어에서 변수를 더 자세히 볼 수 있습니다.

Data Viewer

대안으로 Data Wrangler와 같은 다른 확장에서 제공하는 데이터 보기 환경을 사용할 수 있습니다. Data Wrangler 확장은 데이터에 대한 인사이트를 표시하는 풍부한 사용자 인터페이스를 제공하며 데이터 프로파일링, 품질 검사, 변환 등을 수행하는 데 도움이 됩니다. 당사 문서에서 Data Wrangler 확장에 대해 자세히 알아보세요.

행 필터링

데이터 뷰어에서 행을 필터링하려면 각 열의 상단에 있는 텍스트 상자에 입력합니다. 검색하려는 문자열을 입력하면 해당 문자열이 열에 포함된 모든 행이 찾아집니다.

Data Viewer

정확히 일치하는 항목을 찾으려면 필터 앞에 '='를 붙입니다.

Data Viewer

더 복잡한 필터링은 정규 표현식을 입력하여 수행할 수 있습니다.

Data Viewer

플롯 저장

Notebook에서 플롯을 저장하려면 출력을 마우스로 가리키고 오른쪽 상단의 **저장** 아이콘을 선택합니다.

Save output

참고: matplotlibAltair로 생성된 플롯을 렌더링하는 데 지원됩니다.

사용자 지정 Notebook diffing

내부적으로 Jupyter Notebook은 JSON 파일입니다. JSON 파일의 세그먼트는 입력, 출력 및 메타데이터의 세 가지 구성 요소로 구성된 셀로 렌더링됩니다. 줄 기반 diffing을 사용하여 Notebook에서 변경된 내용을 비교하는 것은 어렵고 파싱하기 어렵습니다. Notebook용 풍부한 diffing 편집기를 사용하면 셀의 각 구성 요소에 대한 변경 내용을 쉽게 볼 수 있습니다.

diffing 보기 내에서 표시할 변경 유형을 사용자 지정할 수도 있습니다. 오른쪽 상단에서 도구 모음의 오버플로 메뉴 항목을 선택하여 포함할 셀 구성 요소를 사용자 지정합니다. 입력 차이는 항상 표시됩니다.

Custom notebook diffing

VS Code의 Git 통합에 대해 자세히 알아보려면 VS Code의 소스 제어를 방문하세요.

Jupyter Notebook 디버깅

Jupyter Notebook을 디버깅하는 방법에는 "줄별 실행"이라는 간단한 모드와 전체 디버깅 모드 두 가지가 있습니다.

참고: 이 두 기능 모두 ipykernel 6 이상이 필요합니다. ipykernel 설치 또는 업그레이드에 대한 자세한 내용은 이 위키 페이지를 참조하세요.

줄별 실행

줄별 실행을 사용하면 다른 VS Code 디버그 기능에 방해받지 않고 셀을 한 줄씩 실행할 수 있습니다. 시작하려면 셀 도구 모음에서 **줄별 실행** 버튼을 선택합니다.

Run by line button

동일한 버튼을 사용하여 문 단위로 진행합니다. 셀 **중지** 버튼을 선택하여 조기에 중지하거나, 도구 모음의 **계속** 버튼을 선택하여 셀 끝까지 계속 실행할 수 있습니다.

셀 디버그

중단점 및 다른 셀과 모듈로 단계별 실행하는 기능과 같이 VS Code에서 지원하는 전체 디버깅 기능을 사용하려면 전체 VS Code 디버거를 사용할 수 있습니다.

  1. Notebook 셀의 왼쪽 여백을 클릭하여 필요한 모든 중단점을 설정하여 시작합니다.
  2. 그런 다음 **실행** 버튼 옆 메뉴에서 **셀 디버그** 버튼을 선택합니다. 그러면 디버그 세션에서 셀이 실행되고, 실행되는 코드의 중단점에서 일시 중지됩니다. 다른 셀이나 .py 파일에 있는 코드라도 마찬가지입니다.
  3. 일반적인 VS Code와 마찬가지로 디버그 보기, 디버그 콘솔 및 디버그 도구 모음의 모든 버튼을 사용할 수 있습니다.

Jupyter Notebook에서 셀 디버깅은 launch.json의 디버그 구성을 사용하지 않습니다. 대신 jupyter.debugJustMyCode와 같은 설정을 통해 사용자 지정할 수 있습니다.

Debug cell button

Notebook 검색

키보드 단축키 Ctrl/Cmd + F를 사용하여 Notebook(또는 검색 옵션을 필터링하여 일부)을 검색할 수 있습니다. 필터 옵션(깔때기 아이콘)을 클릭하여 다음을 검색합니다.

  • Markdown 셀 입력 (Markdown 소스)
  • Markdown 셀 출력 (렌더링된 Markdown)
  • 코드 셀 입력 (코드 셀 소스)
  • 코드 셀 출력 (셀 출력)

기본적으로 Notebook 검색은 셀 입력만 필터링합니다.

Search options

원격 Jupyter 서버에 연결

원격 Jupyter 서버에 연결하여 Jupyter Notebook에서 집중적인 계산을 다른 컴퓨터로 오프로드할 수 있습니다. 연결되면 코드 셀은 로컬 컴퓨터가 아닌 원격 서버에서 실행됩니다.

원격 Jupyter 서버에 연결하려면

  1. Notebook 오른쪽 상단에 있는 커널 선택기 버튼을 열거나 (또는 명령 팔레트에서 **Notebook: Notebook 커널 선택** 명령 실행)

    Notebook kernel picker

  2. 기존 Jupyter 서버에 연결하려면 **기존 Jupyter 서버** 옵션을 선택합니다.

    Select existing Jupyter server

  3. 기존 서버에 처음 연결하려면 **실행 중인 Jupyter 서버의 URL 입력**을 선택합니다.

    Choose to connect to an existing server

  4. 실행 중인 Jupyter 서버의 URL 입력 프롬프트가 표시되면 서버 URI(호스트 이름)에 ?token= URL 매개변수가 포함된 인증 토큰을 제공합니다. (인증 토큰이 활성화된 상태로 VS Code 터미널에서 서버를 시작하면 터미널 출력에 토큰이 포함된 URL이 표시되며 여기서 복사할 수 있습니다.) 또는 URI를 제공한 후 사용자 이름과 비밀번호를 지정할 수 있습니다.

    Prompt to supply a Jupyter server URI

참고: 추가 보안을 위해 Microsoft는 SSL 및 토큰 지원과 같은 보안 예방 조치를 사용하여 Jupyter 서버를 구성할 것을 권장합니다. 이는 Jupyter 서버로 전송되는 요청이 인증되고 원격 서버로의 연결이 암호화되도록 하는 데 도움이 됩니다. Notebook 서버 보안에 대한 지침은 Jupyter 설명서의 Jupyter 설명서를 참조하세요.

데이터 과학 프로필 템플릿

프로필을 사용하면 현재 프로젝트 또는 작업에 따라 확장, 설정 및 UI 레이아웃을 빠르게 전환할 수 있습니다. Jupyter Notebook 시작에 도움이 되도록 큐레이션된 유용한 확장, 설정 및 스니펫이 포함된 프로필인 데이터 과학 프로필 템플릿을 사용할 수 있습니다. 프로필 템플릿을 그대로 사용하거나 자신의 워크플로에 맞게 추가로 사용자 지정하기 위한 시작점으로 사용할 수 있습니다.

프로필 > 프로필 만들기... 드롭다운을 통해 프로필 템플릿을 선택합니다.

Create Profile dropdown with profile templates

프로필 템플릿을 선택하면 설정 및 확장을 검토하고 새 프로필에 포함하지 않으려는 개별 항목을 제거할 수 있습니다. 템플릿을 기반으로 새 프로필을 만든 후 설정, 확장 또는 UI에 대한 변경 사항은 프로필에 유지됩니다.

© . This site is unofficial and not affiliated with Microsoft.