[TIP] 확장프로그램과 테마변경으로 jupyter notebook을 더 유용하게!

2022.01.22 14:25 5,501 조회
안녕하세요 !🤗 데이크루 1기 입니다! 저는 평소에 colab을 사용하지 않을 때는 local환경에서 주피터 노트북을 사용하고 있습니다!
그래서 이번에는, 주피터 노트북을 더 편하게 사용할 수 있는 확장프로그램💻을 소개하고자 합니다
또한, 주피터노트북은 기본테마가 하얀색이기 때문에 코딩을 오래하면 눈이 아플 수 있는데요! 이를 바꿀 수 있는 테마변경방법도 소개하고자 합니다 :D


-------------------------------------------------------


➡️Jupyter Notebook 확장프로그램 Nbextensions

✔️1. 확장프로그램 설치하기

  • 명령 프롬프트를 사용해 확장프로그램을 설치하겠습니다. (윈도우의 경우 '시작'에서 'cmd'혹은 '명령프롬프트'를 검색하여 실행가능합니다!)

  • pip install jupyter_contrib_nbextensions  : 확장프로그램을 pip을 이용해 설치합니다
  • jupyter contrib nbextension install --user   :   nbextension이 주피터 노트북에서 보일 수 있도록 하는 명령입니다.


✔️2. 주피터 노트북을 실행하여 확장프로그램 사용하기

  • 주피터 노트북을 실행하면 (명령프롬프트 환경에서 jupyter notebook 을 치면 바로 실행 가능합니다!)

  • Nbextensions가 생겼음을 알 수 있습니다. 눌러서 클릭합니다.


  • Nbextensions 탭을 클릭 후, 화살표 표시가 있는 disable configuration for nbextensions without explicit compatibility를 클릭하면 확장프로그램을 사용할 수 있습니다.
  • 사용할 기능을 클릭하면 위의 사진처럼 파란색으로 표시되고 밑에 각 기능에 대한 간단한 설명을 볼 수 있습니다.



  • 이제 확장프로그램에서 사용하면 유용한 몇가지 기능을 소개하겠습니다 😊


✔️3. 확장프로그램 기능소개 - (1) Execute Time

  • 코드의 실행시간을 알려주는 기능입니다. 코드마다 일일히 time 메서드를 사용하지 않아도 됩니다!
  • 어떤 알고리즘이 더 소비되는 시간이 적은지 알고 싶을 때 유용하게 활용 가능합니다.
  • 셀이 작업을 마친 시간과 돌아가는데 걸린 시간을 측정하여 다음과 같이 조그만 글씨로 표시하여 줍니다.


✔️3. 확장프로그램 기능소개 - (2) Hide input

  • 코드들을 숨길 수 있는 기능입니다!
  • input은 숨기고 결과는 남깁니다. 따로 결과가 없는 코드의 경우 전부 숨겨진다고 생각하시면 됩니다.
  • 코드가 많아서 지저분할 때, 실행하지 않고 각주로만 남겨놓는 코드들을 잠깐 안보이게 할 때 유용합니다!
  • 화살표로 표시된 버튼을 클릭하여 위에서 보였단 for i in range(5): print(i)의 input을 숨겨보았습니다.


✔️3. 확장프로그램 기능소개 - (3) Hinterland

  • 코드의 자동완성을 도와주는 기능입니다.
  • colab에서는 자동완성 기능이 있는데 jupyter에서는 기본적으로는 제공하지 않죠!
  • 확장프로그램 Hinterland를 통해 tab을 누르지 않아도 코드를 자동완성 시켜줍니다.


✔️3. 확장프로그램 기능소개 - (4) Variable Inspector

  • Variable Inspector를 사용하면 노트북 상에서 생성된 변수와 그 값들(type, size, shape 등)을 트래킹할 수 있습니다.
  • 화살표로 표시된 버튼을 클릭하자 노트북 상에 존재하는 데이터의 이름과 특징들을 손쉽게 확인할 수 있는 것을 볼 수 있습니다.


✔️3. 확장프로그램 기능소개 - (5) 그 외

  • 이외에도 마크다운 헤더 수준에 따른 목차 생성이 가능Table of Contents
  • 특정 heading 아래의 코드와 마크다운을 숨길 수 있는 Collapse Headings
  • 자동으로 코드를 정리해주는 Autopep8 (copy & paste에 유용)
  • 코드를 클래스나 def함수 단위로 묶어서 폴딩할 수 있게 해주는 code folding
  • 다양한 기능이 있으니 편의에 맞게 사용하시면 좋을 것 같습니다 🙂



➡️Jupyter Notebook 테마 변경하기

✔️1. 테마변경을 위한 패키지 설치하기

  • 명령 프롬프트를 사용해 테마변경을 위한 패키지를 설치합니다.
  • pip install jupyterthemes


✔️2. 테마리스트 확인하기

  • jt -l 명령을 사용하면 사용할 수 있는 테마 목록을 확인할 수 있습니다
  • 어두운 느낌의 테마의 경우 chesterish, gruvboxd, monokai, oceans16, onedork, solarizedd가 있습니다.
  • 테마 미리보기는 다음 링크에서 가능합니다. 참고하셔서 원하는 테마를 설정하시면 됩니다!
  • https://chancoding.tistory.com/47


✔️3. 테마 적용하기

  • jt  -t <원하는 테마 이름> 사용하면 테마를 적용할 수 있습니다.
  • 저는 onedork를 적용하고 주피터노트북을 실행해 보았습니다.

  • 다만, 단순히 jt  -t <원하는 테마 이름> 적용 후 실행시, 폰트 사이즈도 커지고, 이전에 설치한 Nbextensions 툴바가 보이지 않을 수 있습니다.
  • 이를 위해 설정이 필요합니다.


✔️4. 필요한 설정 추가하기

  • jt  -t <원하는 테마 이름> -f bitstream -T -N -fs 10 -nf opensans -nfs 10
  • -f bitstream : 코드 폰트를 bitstream으로 적용합니다
  • -T -N : 툴바와 제목을 보이게 합니다 (default는 안보이는 상태라서 코드를 더 많이 볼 수 있습니다.)
  • - fs 10 : 글자 크기를 10으로 설정합니다.
  • -nf : 주피터노트북 폰트를 opensans로 적용합니다
  • -nfs 10 : 노트북 글자크기를 10으로 설정합니다.

  • 설정 이후 파일간 글자크기와 간격이 줄어든 모습입니다.


✔️5. 기본 테마로 되돌리기

  • 테마가 마음에 들지 않거나, 다시 되돌리고 싶은 경우
  • jt -r 명령을 사용해 되돌릴 수 있습니다.



-------------------------------------------------------


  • 이상으로 주피터노트북의 확장프로그램과 테마설정방법에 대해 알아봤습니다!
  • 테마 적용시 뭔가 렉이 걸리는 느낌이라 일단 저는 확장프로그램만 사용하기로 했습니다 🥲
  • 도움이 되었으면 좋겠습니다!
  • 읽어주셔서 감사합니다 ! 🤗


   *본 포스팅은 데이콘 서포터즈 “데이크루" 1기 활동의 일환입니다. ✔️


참고
https://junpyopark.github.io/Jupyter_Extension/#%EC%B6%94%EC%B2%9C-%EA%B8%B0%EB%8A%A5%EB%93%A4-5%EA%B0%80%EC%A7%80
https://chancoding.tistory.com/8
https://pebpung.github.io/2020/08/06/Jupyter-Theme-and-Tool.html
https://for-jk.tistory.com/9


로그인이 필요합니다
0 / 1000
yoonj
2022.01.23 19:08

실행 시간 파악하려고 항상 time 메소드를 썼었는 데, 확장 프로그램이 있었다니.. 유용한 정보 감사합니다! 
그런데 해당 방법들은 코랩에서는 활용할 수 없을까요??

yun99
2022.01.24 10:10

구글링해보니 코랩에서도 사용이 가능할 듯 보입니다 :) 관련하여서도 알아보겠습니다!

백남진
2022.01.24 09:19

extention 기능 다른것도 써보고 싶네요! 감사합니다~

Mather
2022.03.01 20:18

파이썬 자주 쓰는 단축키 댓글로 공유 드립니다.
코드실행
Ctrl + Enter : 선택한 셀을 실행합니다.
Shift + Enter : 선택한 셀을 실행하고 다음 셀로 넘어갑니다. 만약 다음 셀이 없을 경우 셀을 생성합니다.
여러 셀을 선택하고 한꺼번에 구동할 수도 있습니다.
셀 추가
A : 새로운 셀을 선택한 셀 위에 추가합니다.
B : 새로운 셀을 선택한 셀 아래에 추가합니다.
셀 속성 변경
Y : 선택한 셀을 Code입력모드로
M : 선택한 셀을 마크다운(Markdown)입력모드로
마크다운 문법 참고 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601
셀 복사/붙여넣기 & 삭제하기/되돌리기
X : 선택한 셀을 잘라내기
C : 선택한 셀을 복사하기
V : 복사한 셀을 선택한 셀 아래에 붙여넣기
D,D : 선택한 셀을 삭제하기
Z : 시행 되돌리기
기타
Ctrl + B : 디렉토리창 숨기기/보이기
함수에 커서를 두고 Shift + Tab : 함수 설명 보기(파라미터 확인할 때 좋습니다)
Settings :
JupyterLab Theme- 테마변경, Advanced Setting Editer - 기타 설정 변경 가능
Help: 각종 Reference들(Python, Numpy, Matplotlib, Pandas 등등)을 확인할 수 있습니다