jupyter-lab 설치 방법
주피터 노트북(Jupyter Notebook)은 python의 활용부터 머신러닝 등의 분야까지 다양한 방식으로 사용되는 프로그램으로 서버의 터미널, 코드 블록으로 구동이 가능한 ipynb, python 콘솔 등의 기능을 제공하나 기능을 사용 시 웹브라우저의 새로운 탭으로 넘어가는 불편함이 있었습니다. 이번에 소개할 주피터 랩(Jupyter lab)은 이러한 기능을 개선하여 웹브라우저의 탭 1개에서 주피터 노트북의 모든 기능을 사용할 수 있게 개선 됐으며 처음 사용하는 사용자도 손쉽게 설치가 가능한 장점이 있습니다.
본 매뉴얼에 적용되는 OS : Ubuntu 20.04, Ubuntu 22.04
※ 매뉴얼의 안내 및 주의 사항
|
1) root를 통한 패키지 설치
주피터 랩과 한국어 언어 팩을 설치합니다. 만일 설치가 진행되지 않는다면 python3, python3-pip가 apt로 설치가 되어있는지 확인합니다.
pip3 install jupyterlab |
2) 주피터 랩 실행 전 설정
주피터 랩을 사용하기 전 아래의 내용을 숙지해야 합니다.
- 주피터 랩은 기본적으로 내부에서의 접속을 지원하며 Ubuntu Desktop, Xrdp 등을 설치 한 뒤 접속하여 사용이 가능하다.
- 외부에서의 접속도 지원되며 기능 중 터미널의 경우 권한 탈취시 발생할 수 있는 문제로 root 계정의 사용은 권장되지 않는다.
- 방화벽(TCP 8888) 포트는 서버 및 ELCAP 웹방화벽에서 특정 IP만 접속이 가능하도록 설정해야 하며 명령어 사용 권한 등을 체크해야 한다.
주피터 랩의 패스워드를 설정하는 명령어를 실행 합니다. 이때 jupyter_server_config.json 파일을 통해 패스워드의 해시 값이 설정됩니다.
jupyter server password |
Enter password: Verify password: 유저에서 명령어를 사용했을 경우의 경로 : [JupyterPasswordApp] Wrote hashed password to /home/iwinv/.jupyter/jupyter_server_config.json root에서 명령어를 사용했을 경우의 경로 : [JupyterPasswordApp] Wrote hashed password to /root/.jupyter/jupyter_server_config.json |
3) 주피터 랩 실행
주피터 랩은 아래의 두가지 방법을 통해 내부/외부에서의 통신 가능 여부를 설정할 수 있고 Ctrl + C를 통해 종료 가능합니다. 모든 서버는 외부에서의 해킹 시도가 발생 할 수 있어 방화벽 등의 설정을 철저히 해두는 것을 권장합니다.
※ 내부에서의 사용유저로 사용 시 : jupyter-lab root로 사용 시 : jupyter-lab --allow-root참고사항 : Ubuntu Desktop, xrdp가 서버에 설치되어 있어야 서버 내부에서 사용가능 |
※ 외부에서의 사용 유저로 사용 시 : jupyter-lab --ip 10.x.x.x root로 사용 시 : jupyter-lab --ip 10.x.x.x --allow-root추가 옵션 : --port 9999 (임의의 포트 수정 가능) |
[I ServerApp] Jupyter Server 2.12.5 is running at: [I ServerApp] http://localhost:8888/lab [I ServerApp] http://127.0.0.1:8888/lab [I ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). |
[I ServerApp] Jupyter Server 2.12.5 is running at: [I ServerApp] http://10.x.x.x:8888/lab [I ServerApp] http://127.0.0.1:8888/lab [I ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). |
주피터 랩은 서비스 패키지가 제공되지 않아 기본적으로는 터미널에서 실행해야 합니다. "> jupyter.log 2>&1 &"는 주피터 랩이 실행될 시에 발생되는 메세지를 로그파일로 저장하고 터미널의 백그라운드에서 실행될 수 있도록 합니다.
jupyter-lab --ip 10.x.x.x > jupyter.log 2>&1 & |
백그라운드에서 주피터 랩이 작동할 때 종료하고자 할 경우 아래의 명령어를 사용합니다.
kill -9 $(ps -ef |grep -i "jupyter-lab" |grep -i "bin" |awk '{print $2}') |
4) 주피터 랩 설정 파일 수정 방법
주피터 랩의 명령어는 호스팅하는 ip의 설정이나 port를 옵션으로 기재하여 사용할 수 있지만 이런 옵션을 일일히 사용하기에는 번거롭습니다. 설정파일을 별도로 생성하여 수정하면 이후로는 jupyter-lab 명령어 만으로 접근 가능합니다.
jupyter-lab --generate-config |
유저로 사용할 경우의 경로 : /home/iwinv/.jupyter/jupyter_notebook_config.py root로 사용할 경우의 경로 : /root/.jupyter/jupyter_notebook_config.py# 변경 전 : c.ServerApp.port = 8888 > 변경 후 : c.ServerApp.port = 9999 # 변경 전 : c.ServerApp.ip = 'localhost' > 변경 후 : c.ServerApp.ip = '10.x.x.x' |
5) 주피터 랩 사용
서버의 웹브라우저 또는 외부 PC로 접속하면 본래는 해시 값을 통해 로그인을 시도하나 미리 설정을 진행한 상태이기에 패스워드로 로그인을 진행할 수 있습니다.
주피터 랩을 설치할 때 한국어 언어 셋도 같이 설치했기에 "Settings" > "Language"에서 인터페이스의 설정을 한국어로 변경하면 편리한 사용이 가능합니다.
런처에는 주피터 노트북에서 있던 모든 기능이 집약되어 보여지며 콘솔과 터미널을 제외한 나머지 기능은 실행 시 파일이 생성됩니다.
- 파일 리스트 : 주피터 노트북의 파일 리스트 기능입니다. 파일의 업/다운로드가 가능합니다.
- 노트북 : 주피터 노트북의 ipynb 파일 구동을 지원합니다. (코드 작동 확인 : Ctrl + Enter)
- 콘솔 : python3 콘솔을 지원합니다. (코드 작동 확인 : Ctrl + Enter)
- 터미널 : 서버의 터미널을 지원합니다. (※ root 또는 sudo 권한이 있는 사용자인 경우 서버의 모든 기능을 사용할 수 있어 주의가 필요합니다.)
- 텍스트, 마크다운, 파이썬 : 메모 기능을 지원합니다.
주피터 랩은 1개의 페이지에서 위와 같이 4개를 동시에 띄워 볼 수 있으며 웹 브라우저의 탭 기능도 지원하기에 주피터 노트북보다 좀 더 쉽게 사용이 가능합니다.