본문 바로가기
SW 개발/Data 분석 (RDB, NoSQL, Dataframe)

Jupyter Notebook의 업그레이드: Jupyter Lab 설치 및 extension 사용법

by Kibua20 2021. 9. 16.

Jupyter Lab은 Jupyter Notebook의 업그레이드 개발환경입니다. 기존 Jupyter Notebook은 Web 기반에서 Python 코드를 한 줄씩 실행하고 실행 결과를 확인할 수 있는 장점이 있었다면, Jupyter Lab은 기존 Jupyter Notebook을 포함하여 CSV/TSV 파 일을 오픈하여 편집할 수고, Mark Down 파일, Terminal 기능, Editor Theme  설정 기능, 다양한 Plug in (extension) 기능을 지원합니다.  특히, extension은 Visual Code의  extension처럼 개발에 필요한 다양한 기능을 사용할 수 있습니다. 예를 Git control, Graph (pilot) 기능, Json, Exel 편집 등 매우 편리한 기능을 사용할 수 있습니다. 

 

Jupyter Lab의 특정

  • csv 파일 tsv 파일 오픈 가능
  • Python py파일을 바로 편집 가능
  • mark down 파일 생성, 수정 편집 
  • Tab 설정 (space 4칸)  지원 확인
  • Editor theme 지원
  • 다양한 plug in 지원

Jypyter Lab에서 지원하는 Broswer

  • Firefox
  • Chrome
  • Safari

Jupyter Lab은 CSV 파일, Python code를 많이 사용하는 AI 개발자에게는 매우 편리한 Tool이 될 수 있습니다.  Jupyter Lab을 클라우드의 가상 머신 (e.g EC2)에 설치하고 Web Browser를 통해서 인터넷만 접속 가능한 장소라면 언제라도 파이썬 개발을 편리하게 할 수 있습니다.  

 

Jypyter Notebook은 아래 포스팅에 설명하였습니다.  Jupyter Lab은 Notebook 기능을 포함하고 있고, 사용법도 동일하기 때문에 Jupyter Notebook기능을 먼저 살펴보는 것이 좋습니다.  또한 기능적으로 upgrade 판이기 때문에 처음 사용하시는 분은 Jupyter Notebook보다는 바로 Lab을 사용하는 것을 추천드립니다.

 

[모바일 SW 개발/Python] - 우분투 20.04에서 Jupyter Notebook 사용법: Web browser에서 Python 개발 환경 구축

 

Jypyter Lab에 대한 대략적인 설명은 아래 Youtube 동영상에 잘 설명되어 있으니 참고 바랍니다. 

참고: https://www.youtube.com/watch?v=UnXXH72-ENc  

 

Jupyter Lab 설치 및 사용 방법

Jupyter 공식 홈페이지에 설치 방법이 자세히 나와 있습니다.  다양한 방법으로 설치가 가능하지만, 가급적이면 Python Package Install인 pip를 사용하는 것을 추천드립니다. 

 

# Jupyter Lab 설치

$ sudo pip3 install jupyterlab

pip를 통해서 Jupyter Lab 설치

Jupyter Lab을 실행하기 위해서는 터미널에서 jupyter lab을 실행합니다.  Jupyter lab을 실행하면  터미널에서 접속할 수 있는  IP 주소와 Token을 출력해줍니다.  Local PC에서는 바로 Browser에서 Jupyter 사용이 가능하지만, 원격 서버인 경우에는 설정한 IP 주소를 Browser를 통해서 Token을 입력해야 사용이 가능합니다. 

 

$ jupyter lab

jupyter lab 실행

 

터미널에서 $ jupyter lab을 실행한 상태에서 Browser에서 아래와 주소 접속하면 Jupyter Lab 실행 화면을 확인할 수 있습니다. 

 

http(s)://<server:port>/<lab-location>/lab

 

# Local PC에 있는 Jupyter Lab을 실행하는 경우

http://localhost:8888/lab

 

# 원격 서버의 Jupyter lab을 실행하는 경우

http://123.213.251.211:8888/lab

 

# 기존 Jupyter Notebook을 실행하는 경우

http://localhost:8888/tree 

Jupyter Lab 실행파일

 

유용한 Jupyter Lab Extension

Jupyter Lab의 가장 큰 장점은 Extension 기능입니다. Extension 기능을 사용하기 위해서는 nodejs 가 기본적으로 설치되어 있어야 합니다. 

 

$ sudo apt install nodejs

 

Jypyter Lab Extension설치 시 아래와 같은 에러 메시지를 출력한다면 nodejs 버전을 업데이트해야 합니다. 

"Please install nodejs >=12.0.0 before continuing. nodejs may be installed using conda or directly from the nodejs website."

 

Nodejs 업데이트는 아래 명령어로 가능합니다. 

$  sudo apt install npm

$ node -v 

  → v10.19.0  (버전 확인)

$ sudo npm cache clean -f

  → cache 삭제

$ sudo npm install -g n

  → nodejs 버전 관리 플러그인 (n) 설치

$ sudo n lts 

  →  nodejs의 LTS 버전 (v14.17.0)  설치 ,  n stable, n latest 명령어로 원하는 버전 설치 가능

 

nodejs을 최신 버전으로 업데이트 후에는 Jupyter Lab Extenstion은 왼쪽 사이드바에 하단 Extension 아이콘을 선택 후 Extension 검색 메뉴를 통해서 설치할 수 있습니다.  Server Extension이 필요한 경우 서버에서 설치하면 구동이 가능합니다. 

 

1. Git 연동 @jupyterlab/git

https://github.com/jupyterlab/jupyterlab-git

git 연동, branch관리 등. 왼쪽 사이드 메뉴에 Git 메뉴 추가됨 
설치 명령어: 
$ sudo pip3 install jupyterlab-git 

2. Table of content 생성 @jupyterlab/toc-extension

https://github.com/jupyterlab/jupyterlab-toc

md 파일에 대한 목차 생성   JupyterLab < 3.0 이하 버전에서는 아래 extension 설치해야 하고, 3.0 이상 버전은 JupyterLab core에 이미 포함되어 있음

설치 명령어: 
$ sudo jupyter labextension install @jupyterlab/toc

3. Go To Definition 기능 @krassowski/jupyterlab_go_to_definition

https://www.npmjs.com/package/@krassowski/jupyterlab_go_to_definition

 

Alt + click to jump to a definition
Ctrl + Alt + B keyboard-only

설치 명령어
$ sudo jupyter labextension install @krassowski/jupyterlab_go_to_definition

4.  Audo Complete @krassowski/jupyterlab-lsp

https://github.com/krassowski/jupyterlab-lsp

 

Code 자동 완성
설치 명령어:
$ sudo pip3 install jupyterlab-lsp

 

Jupyterlab-git 실행 화면

Jupyterlab-git 실행 화면

 

Jupyterlab-toc 실행 화면

Jupyterlab-toc 실행 화면

 

 

Notebook 파일(*.ipynb)을  Python 파일(*.py) 파일로 변환

Python code, 실행결과, comment로 구성되어 있는 노트북 파일을 Python code로 변환하는 방법입니다. 

 $ jupyter nbconvert --to python  [your notebook file name].ipynb

 

관련 글:

[모바일 SW 개발/Python] - 우분투 20.04에서 Jupyter Notebook 사용법: Web browser에서 Python 개발 환경 구축

[모바일 SW 개발/Android] - 안드로이드 스마트 폰 화면 미러링 방법: scrcpy 사용법

[모바일 SW 개발/REST API] - 자주 사용하는 curl 명령어 옵션과 예제

[모바일 SW 개발/Python] - Python 음수 인덱스: line.split('+')[-1] 또는 line.split('/')[-1] 의미

[모바일 SW 개발/Python] - Python에서 URL 한글 깨짐 현상: quote_plus()와 unquote_plus()

[모바일 SW 개발/Python] - Python: 날짜와 시간 처리 함수(현재 날짜, 어제 날짜, UTC 시간)

[모바일 SW 개발/Python] - Python: xmltodict를 활용하여 XML를 JSON으로 변환하는 방법

[개발환경/Web Server] - Python: Web Framework Flask 사용하기

[모바일 SW 개발/Python] - Python: JSON 개념과 json 모듈 사용법

[모바일 SW 개발/Android] - Android 에서 리눅스 App 실행: Linux Terminal Emulator (Termux) 활용

[모바일 SW 개발/Python] - Python 폴더 및 파일 처리 함수 모음

[모바일 SW 개발/Python] - Python code 숨기는 방법: PyInstaller로 실행 파일 만들기




댓글