컨테이너를 생성할 때마다 Lab 설정을 해주어야 하는데, 일일이 찾아보기 귀찮아서 이 포스팅에 정리해보려 한다.
목차
Summary
먼저, jupyter lab extension을 사용하기 위해서는 nodejs를 설치해주어야 하는데, 컨테이너에서 jupyter lab 설치 이후에 nodejs를 설치하게 되면 jupyter lab 실행 시 오류가 발생하여, 재설치해야 한다. 아마도 컨테이너 상에서 nodejs를 설치하는 경우, 기기 전체의 nodejs와 충돌이 발생하여 발생하는 문제인 것 같다. (재설치 이외에 해결 방법은 없는 듯 하다..)
이를 방지하기 위해 도커 컨테이너를 사용한다면 애초에 jupyter lab 설치 전에 nodejs와 npm부터 설치한다. 해당 과정은 아래 포스팅에 자세히 정리해두었다.
Jupyter lab 초기 설정은 다음과 같이 진행한다. (요약)
- 테마(Theme) dark mode로 설정
- Text editor theme 'abcdef'로 설정
- 따옴표, 괄호 자동 닫기 설정
- (필요하다면) working directory 설정
- Git 연동 Extension (pip install jupyterlab-git)
- Resource monitor Extension (conda install -c conda-forge jupyterlab-system-monitor)
- 화면 상단에 사용중인 메모리 정보가 뜸
- Variable inspector Extension (conda install -c conda-forge jupyterlab-variableinspector)
- 우클릭 시 'open variable inspector' 생김
- Matplotlib widget
- (pip install ipympl)
- (jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyter-matplotlib)
- '%matplotlib widget' 사용 시 3d plot 회전 등 가능
Jupyter Lab 주요 단축키 (맥 기준)
창 관련
- ⌘ + B : 사이드바 보기/접기
- tab : 자동완성 (모듈 리스트 확인)
- ⌃ + ⇧ + [ or ] : 활성 탭 이동 (탭 여러개를 분할하여 띄운 경우, 활성 탭을 이동함)
- ⌘ + ⇧ + L : 런처(새 탭) 띄우기
- ⌥ + W : 탭 닫기 (활성화된 탭 하나만 닫음)
Code Editting 관련 (Jupyter Notebook과 동일)
- ESC : 커맨드 모드 진입
- 커맨드 모드에서
- A : 현재 셀 위에 셀 추가
- B : 현재 셀 밑에 셀 추가
- D + D : 현재 셀 삭제
- M : 선택된 셀을 Markdown 셀로 변환
- Y : 코드 셀로 변환
- R : raw 셀로 변환
- Enter : 셀 editting 시작
Magic Function
Magic function은 ipython kernel에서 제공하며, jupyter notebook과 lab 모두에서 언어에 상관 없이 동작한다.
- %matplotlib inline
- Plot을 화면 안에서 보여준다.
- %run [file_name]
- 해당 이름의 .py 혹은 .ipynb 파일을 셀 내에서 실행한다.
- %load [file_name]
- 해당 파일을 셀 안에 로드한다.
- %who
- 전역 환경의 모든 변수의 리스트를 출력한다. (메모리를 차지하는 변수 확인할 때 유용)
- '%whos'는 변수들에 대한 설명도 볼 수 있다.
- %who df
- 선언된 datafrme을 볼 수 있다.
- %time
- 셀이 실행된 시간을 볼 수 있다.
- %timeit
- 10만 번 실행하여 평균 시간을 잰다
초기 설정 (Settings)
테마는 상단 툴바 'Settings → Theme → JupyterLab Dark'에서 설정한다.
Text editor 테마도 'Settings → Text Editor Theme → 원하는 테마'로 설정한다. 나는 'abcdef'라는 테마가 가장 맘에 들어서 이걸로 사용하고 있다.
따옴표 및 괄호 자동 닫기는 'Settings → Advanced Settings Editor → Notebook(탭) → Auto Closing Brackets 체크'로 설정한다.
Working directory는 jupyter_notebook_config.py 파일에서 설정해주어야 한다.
jupyter notebook --generate-config
위 명령어로 jupyter_notebook_config.py 파일을 만들고, 'c.NotebookApp.notebook_dir'부분을 찾아 주석을 해제한 후에 원하는 경로를 설정해주면 된다.
혹은 terminal에서 jupyter lab을 실행할 때, 다음과 같이 notebook directory를 지정해줄 수 있다.
jupyter lab --port 8888 --ip 0.0.0.0 --allow-roots --notebook-dir=/root/
"/root/" 대신 원하는 경로를 입력하면 된다.
최근댓글