> For the complete documentation index, see [llms.txt](https://dataon.gitbook.io/dataon-user-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dataon.gitbook.io/dataon-user-guide/canvas/jupyterlab.md).

# JupyterLab 이용

* Jupyter란 라이브 코드, 등식, 시각화와 설명을 위한 텍스트 등을 포함한 문서(.ipynb 파일)를 만들고 공유가 가능하도록 한 오픈소스 웹 애플리케이션입니다.&#x20;

* 주로 데이터 클리닝과 변형, 수치 시뮬레이션, 통계 모델링, 머신 러닝 등에 사용하며, 대략적으로 설명하면 Interactive한 웹 기반의 IDE 환경입니다.&#x20;

* 문서에 Python 코드를 넣으면 Python 인터프리터 커널로 서버에서 명령이 실행되어 결과가 보이기 때문에 원격으로 특정 서버에서 Python 코드를 빌드하고 실행할 수 있습니다.&#x20;

* Python뿐만 아니라, R, Julia, Scala 등의 데이터 과학 분야에서 인기 있는 40종의 다양한 프로그래밍 언어를 지원합니다.&#x20;

* 또한 이메일, 드롭박스, 깃허브 등으로 공유할 수 있는 기능도 있습니다.&#x20;

* Jupyter는 본래 iPython이었지만 하나의 서버에서 다수의 커널을 지원하게 되면서 이름이 변경되었습니다.&#x20;

* 기존의 iPython은 설치된 Python 버전에 따라 인터프리터 커널의 버전이 결정되었기 때문에, 여러 버전의 변경이 필요할 때마다 서버를 다시 시작해야 했었습니다.

* &#x20;ZeroMQ라는 인터프리터 사이의 플랫폼 중개 소프트웨어를 도입하면서 서버 재기동 없이도 다양한 커널을 사용할 수 있습니다.

* Jupyter는 셀 단위로 명령어들을 실행하여 즉각적으로 데이터를 확인할 수 있으며, 추가적으로 데이터를 시각화할 수 있고, 셀 별로 Markdown 문서를 삽입하여 부연적으로 설명을 추가할 수 있습니다.

* JupyterLab은 Jupyter notebook을 기반으로 만들어진 개선 버전으로, 프로젝트를 수행하는 데 적합한 개발 환경입니다.&#x20;

* 기존의 Jupyter notebook이 하나의 ipynb 파일만 열 수 있었는데, JupyterLab은 다중 창 지원, 다중 창에서 이미지와 CSV, PDF 파일까지 열 수 있습니다.

* CANVAS Jupyter 환경에서는 /MyCanvas 및 /MyFiles 경로만 사용자 영구 저장 영역으로 제공됩니다.  \
  그 외 경로(/home, /tmp 등)는 임시 영역으로, 세션 종료 또는 pod 재생성 시 데이터가 삭제될 수 있습니다.  &#x20;작업 파일은 반드시 /MyCanvas 또는 /MyFiles 경로에 저장해 주시기 바랍니다.

## 로그인

* 홈페이지 화면 상단 분석 메뉴의 "①JupyterLab 이용"를 클릭하면 JupyterLab 로그인 화면으로 연결됩니다.

![](https://2586262491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FroXQhiQs7V6v8bMyEl97%2Fuploads%2F1B4YbyPlhZrsRPNKf0XU%2F%EC%A3%BC%ED%94%BC%ED%84%B0%EB%9E%A9.png?alt=media\&token=ffdf9ef5-2ecd-4366-b220-40b958188118)

* ①Server Options 목록 출력 : 분석환경 자원 선택
* ②Docker Image Options 목록 출력 : 분석환경에 따라 기본 이미지/사용자가 생성한 이미지 선
* ③Docker image 상세 정보 출력 : Docker Image 선택시 상세 정보 출력
* ④Start 버튼 : 선택된 Server Options와 Docker Image Options 정보를 바탕으로 JupyterLab 실행.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/1M9lpXeVHi95nZDx2Atn/image.png)

## JupyterLab 메인화면

* ① Menu Bar: 상단 메뉴 모음에는 JupyterLab에서 사용할 수 있는 작업 제공됩니다.
* ② Left Sidebar: 자주 사용하는 기능이 탭으로 구성되어 있습니다.
  * '① Menu Bar'의 'View' -> 'Show Left Sidebar'로 보이거나 감출 수 있습니다.\
    'Ctrl+b' 또는 열려있는 Left Sidebar를 한 번 더 클릭하는 액션으로도 동일한 기능을 할 수 있습니다.
* ③ '② Left Sidebar'에서 선택된 내용이 표시되는 화면입니다.
* ④ 현재 구동 중인 Action을 탭으로 표시합니다. 해당 영역을 이용하여 화면을 전환할 수도 있고, 해당 탭을 드래그하여 한 화면에 여러 개의 Work Area를 생성할 수도 있습니다.
* ⑤  Main Work Area: 일이 수행되는 메인 화면입니다.
* ⑥ 상태를 나타내며, 현재 열려있는 Terminal, Kernel 수 및 현재 Main Work Area에 선택되어 있는 화면이 어느 것인지  등을 표시합니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/Db6ldb8Ho0y0NrkYguXJ/image.png)

### Menubar

* File: 파일 및 디렉토리와 관련한 작업을 합니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/tBKeCnBG7yB7jllqNRf1/image.png)

* Edit: 문서 편집 및 기타 활동과 관련한 작업을 합니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/D3zkKNUIcbzAgIcPqfNy/image.png)

* View: JupyterLab의 모양을 편집하는 작업을 합니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/NBt4I4gevYT8cf3SrWhY/image.png)

* Run: ipynb와 같은 소스파일을 열어, 코드를 실행하기 위한 작업을 합니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/2KlqnHJceSjEVZpNDuR0/image.png)

* Kernel: 커널 관리를 위한 작업을 합니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/NW7p3ZWECEU7cuk9Ou2L/image.png)

* Tabs: 열린 탭에 대한 Action 및 현재 열려있는 탭을 표시합니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/ZXeVO32HGgSxdLHPniK6/image.png)

* Settings: 공통 설정 및 고급 설정 편집합니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/Bjkb0PkPA87lgmHFgUN7/image.png)

* Help: JupyterLab 및 커널 도움말 링크를 합니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/Jc1TYCF7AJ4Oahv2dey1/image.png)

### Left Sidebar

* File Browser: 파일 탐색기로, DataON, CANVAS와 동일하게 사용자의 MyDrive와 동일한 화면이 제공됩니다.&#x20;
* 새로운 파일을 업로드, 다운로드할 수도 있으며, 탐색기에서 파일을 더블 클릭할 경우 '⑤ Main Work Area'에서 편집할 수도 있습니다..
  * PDF나 이미지 파일을 뷰어로 열립니다.

![File Browser에서 파일에 대해 수행할 수 있는 Action](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/WoKjhRuj1Tx0zaIzSXBt/image.png)

* Running Terminals and Kernels: 현재 JupyterLab에서 구동 중인 Terminal 또는 Kernel를 표시하며, 해당 화면에서 바로 shut down 이 가능합니다.

![Running 중인 Kernel과 Terminal](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/kpeWmT3hy1QJCTcGxN5W/image.png)

* Commands: 자주 사용되는 Action이 표시됩니다.

!['Commands' Panel 화면](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/dp0fuwOwrmYMDVMUJJrl/image.png)

* Property Inspector: 프레젠테이션 목적으로 설정하는 도구 및 메타데이터 편집을 제공됩니다.

![](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/3Twmkzt58z5eBGE4VXQY/image.png)

* Open Tabs: 열려있는 탭 목록이 표시되며, 해당 패널에서 바로 탭을 중지 시킬 수도 있습니다.

![열려있는 탭 목록](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/V4WeYGWMbqZJUI4sU2Ap/image.png)

* Extension Manager: 확장 프로그램 목록을 표시합니다.

![설치 가능한 확장 프로그램 목록](https://content.gitbook.com/content/roXQhiQs7V6v8bMyEl97/blobs/kNW268EGLDW0o4iIaV3d/image.png)
