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

Python 대화형 창

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

  • Jupyter와 유사한 코드 셀 작업
  • Python 대화형 창에서 코드 실행
  • 변수 탐색기 및 데이터 뷰어를 사용하여 변수 보기, 검사 및 필터링
  • 원격 Jupyter 서버에 연결
  • Jupyter 노트북 디버그
  • Jupyter 노트북 내보내기

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

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

Jupyter 코드 셀

Python 코드 내에서 # %% 주석을 사용하여 Jupyter와 유사한 코드 셀을 정의합니다.

# %%
msg = "Hello World"
print(msg)

# %%
msg = "Hello again"
print(msg)

참고: 위의 코드는 .py 확장자를 가진 파일에 저장해야 합니다.

Python 확장 기능이 코드 셀을 감지하면 셀 실행셀 디버그 CodeLens 장식을 추가합니다. 첫 번째 셀에는 아래 실행이 포함되고 후속 셀에는 위 실행이 포함됩니다.

Jupyter adornments for code cells in the VS Code editor

참고: 기본적으로 셀 디버그는 사용자 코드만 단계별로 실행합니다. 사용자 코드가 아닌 코드를 단계별로 실행하려면 Jupyter 확장 설정(⌘, (Windows, Linux Ctrl+,))에서 내 코드만 디버그를 선택 취소해야 합니다.

셀 실행은 해당 코드 셀에만 적용됩니다. 첫 번째 셀에 나타나는 아래 실행은 파일의 모든 코드를 실행합니다. 위 실행은 장식이 있는 셀을 제외한 모든 코드 셀에 적용됩니다. 예를 들어, 해당 특정 셀을 실행하기 전에 런타임 환경의 상태를 초기화하려면 위 실행을 사용할 수 있습니다.

명령을 선택하면 Jupyter가 시작되고(필요한 경우 시간이 조금 걸릴 수 있음) Python 대화형 창에서 해당 셀을 실행합니다.

Code cells running in a Python Interactive window

(Ctrl+Enter) 또는 Python: Python 터미널에서 선택 항목/줄 실행 명령(Shift+Enter)을 사용하여 코드 셀을 실행할 수도 있습니다. 이 명령을 사용한 후 Python 확장 기능은 자동으로 커서를 다음 셀로 이동합니다. 파일의 마지막 셀에 있는 경우 확장 기능은 Jupyter 노트북의 동작을 모방하여 새 셀을 위한 # %% 구분 기호를 자동으로 삽입합니다.

줄 번호의 왼쪽 여백을 클릭하여 중단점을 설정할 수도 있습니다. 그런 다음 셀 디버그를 사용하여 해당 코드 셀에 대한 디버깅 세션을 시작할 수 있습니다. 디버거는 중단점에서 실행을 중지하고 코드를 한 줄씩 단계별로 실행하고 변수를 검사할 수 있습니다(자세한 내용은 디버깅 참조).

추가 명령 및 바로 가기 키

다음 표는 코드 셀을 작업할 때 지원되는 추가 명령 및 바로 가기 키를 나열합니다.

명령 바로 가기 키
Python: 다음 셀로 이동 Ctrl+Alt+]
Python: 이전 셀로 이동 Ctrl+Alt+[
Python: 위 셀로 선택 확장 Ctrl+Shift+Alt+[
Python: 아래 셀로 선택 확장 Ctrl+Shift+Alt+]
Python: 선택한 셀 위로 이동 Ctrl+; U
Python: 선택한 셀 아래로 이동 Ctrl+; D
Python: 위에 셀 삽입 Ctrl+; A
Python: 아래에 셀 삽입 Ctrl+; B
Python: 위치 아래 셀 삽입 Ctrl+; S
Python: 선택한 셀 삭제 Ctrl+; X
Python: 셀을 코드로 변경 Ctrl+; C
Python: 셀을 Markdown으로 변경 Ctrl+; M

Python 대화형 창 사용

이전 섹션에서 언급된 Python 대화형 창은 임의의 코드(코드 셀 포함 또는 제외)와 함께 독립형 콘솔로 사용할 수 있습니다. 창을 콘솔로 사용하려면 명령 팔레트에서 Jupyter: 대화형 창 만들기 명령을 사용하여 엽니다. 그런 다음 코드를 입력하고 Enter를 사용하여 새 줄로 이동하고 Shift+Enter를 사용하여 코드를 실행할 수 있습니다.

파일과 함께 창을 사용하려면 명령 팔레트에서 Jupyter: Python 대화형 창에서 현재 파일 실행 명령을 사용합니다.

IntelliSense

Python 대화형 창에는 코드 완성, 멤버 목록, 메서드에 대한 빠른 정보 및 매개 변수 힌트를 포함한 전체 IntelliSense가 있습니다. 코드 편집기만큼 Python 대화형 창에서도 생산적으로 입력할 수 있습니다.

IntelliSense in the Python Interactive window

플롯 뷰어

플롯 뷰어를 사용하면 플롯과 더 깊이 작업할 수 있습니다. 뷰어에서는 현재 세션의 플롯을 이동, 확대/축소 및 탐색할 수 있습니다. 플롯을 PDF, SVG 및 PNG 형식으로 내보낼 수도 있습니다.

Python 대화형 창 내에서 플롯을 두 번 클릭하여 뷰어에서 열거나, 플롯의 왼쪽 상단 모서리에 있는 확장 버튼을 선택합니다.

Plot Viewer with the Python Interactive window

참고: Python 대화형 창은 matplotlibAltair로 생성된 플롯 렌더링을 지원합니다.

변수 탐색기 및 데이터 뷰어

Python 대화형 창 내에서 현재 Jupyter 세션 내의 변수를 보고, 검사하고, 필터링할 수 있습니다. 코드를 실행하고 셀을 실행한 후 대화형 창 도구 모음에서 변수 버튼을 선택하면 현재 변수 목록이 표시되며, 변수가 코드에서 사용됨에 따라 자동으로 업데이트됩니다.

Variables Explorer

변수에 대한 추가 정보를 보려면 행을 두 번 클릭하거나 데이터 뷰어에서 변수 표시 버튼을 사용하여 데이터 뷰어에서 변수의 더 자세한 보기를 볼 수 있습니다. 열리면 행을 검색하여 값을 필터링할 수 있습니다.

Data Viewer

원격 Jupyter 서버에 연결

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

원격 Jupyter 서버에 연결하려면

  1. 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 Jupyter: 연결을 위한 로컬 또는 원격 Jupyter 서버 지정 명령을 실행합니다.

  2. Jupyter 서버에 연결할 방법을 선택합니다. Jupyter 서버 URI 제공 프롬프트

  3. 원격으로 작업하는 경우 프롬프트가 나타나면 ?token= URL 매개 변수와 함께 인증 토큰이 포함된 서버의 URI(호스트 이름)를 제공합니다. (인증 토큰이 활성화된 상태로 VS Code 터미널에서 서버를 시작하는 경우 복사할 수 있는 터미널 출력에 토큰이 포함된 URL이 일반적으로 표시됩니다.) 또는 URI를 제공한 후 사용자 이름과 암호를 지정할 수 있습니다.

    Prompt to supply a Jupyter server URI

  4. Python 대화형 창은 코드가 실행되는 위치를 URI(아래 이미지에서 흐리게 처리됨)를 표시하여 나타냅니다.

    The Python Interactive window showing that code is running on a remote Jupyter server

참고: 보안 강화를 위해 Microsoft는 SSL 및 토큰 지원과 같은 보안 예방 조치를 사용하여 Jupyter 서버를 구성하는 것이 좋습니다. 이렇게 하면 Jupyter 서버로 보내는 요청이 인증되고 원격 서버에 대한 연결이 암호화됩니다. 노트북 서버 보안에 대한 지침은 Jupyter 설명서를 참조하세요.

Jupyter 노트북을 Python 코드 파일로 변환

Jupyter가 설치된 환경을 활성화하면 VS Code에서 Jupyter 노트북 파일(.ipynb)을 열고 Python 코드로 변환할 수 있습니다. 파일을 변환한 후 다른 Python 파일과 마찬가지로 코드를 실행할 수 있으며 VS Code 디버거도 사용할 수 있습니다. VS Code에서 노트북을 열고 디버깅하는 것은 Jupyter 노트북에서 직접 수행하기 어려운 코드 버그를 찾고 해결하는 편리한 방법입니다.

노트북 파일을 열면 Visual Studio Code가 자동으로 노트북 편집기에서 엽니다. 도구 모음의 변환 아이콘을 사용하여 노트북(.ipynb) 파일을 Python 파일(.py)로 변환합니다.

Icon to convert a Jupyter notebook file

변환 아이콘을 선택한 다음 "Python 스크립트"를 선택하고 몇 초 동안 기다리면 VS Code가 변환된 노트북을 제목 없는 파일에서 엽니다. 노트북의 셀은 Python 파일에서 # %% 주석으로 구분됩니다. Markdown 셀은 # %% [markdown]으로 시작하는 주석으로 완전히 변환되며 코드 및 그래프와 같은 출력과 함께 대화형 창에 렌더링됩니다.

Jupyter notebook running in VS Code and the Python Interactive window

참고: Python 파일에서 코드 셀을 처음 실행하면 Python 확장 기능이 Jupyter 서버를 시작합니다. 서버가 시작되고 Python 대화형 창에 코드 결과가 표시되기까지 시간이 걸릴 수 있습니다.

Jupyter 노트북 디버그

Visual Studio Code 디버거를 사용하면 코드를 단계별로 실행하고, 중단점을 설정하고, 상태를 검사하고, 문제를 분석할 수 있습니다. 디버거를 사용하면 노트북 코드의 문제를 찾고 수정하는 데 도움이 됩니다.

  1. VS Code에서 이 문서 시작 부분에 설명된 대로 Jupyter가 설치된 Python 환경을 활성화합니다.

  2. 이전 섹션에 설명된 대로 VS Code에서 노트북의 .ipynb 파일을 가져옵니다. (Azure Notebooks와 같은 클라우드 기반 Jupyter 환경을 사용하는 경우 파일을 먼저 다운로드합니다.)

  3. 디버거를 시작하려면 다음 옵션 중 하나를 사용합니다.

    • 전체 노트북의 경우 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))를 열고 Jupyter: Python 대화형 창에서 현재 파일 디버그 명령을 실행합니다.
    • 개별 셀의 경우 셀 위에 나타나는 셀 디버그 장식을 사용합니다. 디버거는 해당 셀의 코드에서 특정하게 시작됩니다. 기본적으로 셀 디버그는 사용자 코드만 단계별로 실행합니다. 사용자 코드가 아닌 코드를 단계별로 실행하려면 Jupyter 확장 설정(⌘, (Windows, Linux Ctrl+,))에서 내 코드만 디버그를 선택 취소해야 합니다.
  4. 변수 검사, 중단점 설정 및 기타 활동과 같은 VS Code의 일반적인 디버깅 기능에 익숙해지려면 VS Code 디버깅을 검토하세요.

  5. 문제를 찾으면 디버거를 중지하고 코드를 수정하고 파일을 저장한 다음 디버거를 다시 시작합니다.

  6. 모든 코드가 올바르다고 확신하면 파일을 저장한 다음 다음 섹션에 설명된 대로 노트북을 내보냅니다. 그런 다음 노트북을 일반 Jupyter 환경에 업로드할 수 있습니다.

Jupyter 노트북 내보내기

Jupyter 노트북을 여는 것 외에도 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 다음 명령 중 하나를 사용하여 VS Code의 Python 파일에서 Jupyter 노트북(.ipynb 확장자 포함)으로 콘텐츠를 내보낼 수 있습니다.

  • Jupyter: 현재 Python 파일 Jupyter 노트북으로 내보내기: # %%# %% [markdown] 구분 기호를 사용하여 해당 셀 유형을 지정하여 현재 파일의 내용으로 Jupyter 노트북을 만듭니다.
  • Jupyter: 현재 Python 파일 및 출력 Jupyter 노트북으로 내보내기: 현재 파일의 내용으로 Jupyter 노트북을 만들고 코드 셀의 출력을 포함합니다.
  • Jupyter: 대화형 창 Jupyter 노트북으로 내보내기: Python 대화형 창의 내용으로 Jupyter 노트북을 만듭니다.

내용을 내보낸 후 VS Code는 브라우저에서 노트북을 열 수 있는 프롬프트를 표시합니다.

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