Jupyter

오늘은 Jupyter에 대해서 알아보자


Jupyter Notebook란

Jupyter는 웹 상에서 파이썬 코드를 실행 할 수 있는 웹 인터페이스라고 말할 수 있다. jupyter notebook을 사용하기 위해 사람들은 많이 찾는다.

구성요소

• 텍스트 및 HTML. 문서 아무 데나 일반 텍스트(아니면 HTML 생성을 위해 마크다운 구문으로 주석을 단 텍스트)를 삽입할 수 있다. CSS 스타일링 역시 그때그때 포함하거나, 노트북 생성에 사용되는 템플릿에 추가할 수 있다.

• 코드 및 출력물. 주피터 노트북 내 코드는 주로 파이썬 코드지만, R이나 줄리아 같은 다른 언어 지원 기능을 사용자의 주피터 환경에 추가할 수 있다. 실행된 코드의 결과는 코드 블록 바로 뒤에 나타난다. 그리고 코드 블록은 원하는 순서대로 실행 가능하고 몇 번이고 다시 실행할 수 있다.

• 시각화. 그래픽과 차트는 맷플롯립(Matplotlib), 플로틀리(Plotly), 보케(Bokeh)와 같은 모듈을 통해 코드로부터 생성할 수 있다. 출력물과 마찬가지로, 이들 시각화는 이를 생성한 코드 옆에 그때그때 표시된다. 단, 필요할 때 외부 파일에 따로 작성되도록 코드를 구성할 수도 있다.

• 멀티미디어. 주피터 노트북은 웹 기술로 구축되었기 때문에 웹 페이지에서 지원되는 각종 멀티미디어를 모두 표시할 수 있다. 노트북에 HTML 요소로 포함시킬 수도 있고 IPython.display 모듈을 통해 프로그램에 따라 생성시킬 수도 있다.

• 데이터. 데이터는 주피터 노트북을 구성하는 .ipynb 파일과 나란히 별도의 파일로 제공되거나 프로그램에 따라 내보내기도 가능하다. 예를 들면, 노트북에 코드를 포함해 공용 인터넷 저장소로부터 데이터를 다운로드 하거나 데이터베이스 연결을 통해 데이터에 접근하는 방식이다.

[출처:https://www.ciokorea.com/tags/11396/R/118326?page=0,1#csidx37a12f5e85dafb296316daf48e3b92e]

특징

  1. 손쉽게 누군가의 프로그래밍 작업 내용을 보여주고 다른 사람들이 참여할 수 있도록 만들어졌다.

  2. ‘노트북’이라는 대화형 문서에 코드와 의견, 멀티미디어, 시각화 자료 등을 결합해 이를 공유하고 재사용 및 재작업할 수 있게 해 준다.

  3. 웹 브라우저를 통해 실행되므로 주피터 노트북 자체를 자신의 로컬 시스템이나 원격 서버에 호스팅할 수 있다.

장점

• 데이터 시각화. 대부분 사람이 주피터 노트북을 처음 접하는 것은 데이터 시각화를 통해서다. 데이터 시각화란 일부 데이터 모음의 렌더링이 그래픽으로 포함된 공유 노트북을 말한다. 주피터 노트북을 통해 시각화를 작성하고 공유할 수 있으며 공유된 코드 및 데이터 모음에 대화형 수정도 가능하다.

• 코드 공유. 깃허브, 페이스트빈 등의 클라우드 서비스에서 제공되는 코드 공유 방식은 대부분 대화형이 아니다. 반면, 주피터 노트북으로는 웹 브라우저에서 직접 코드를 확인, 실행하고 결과를 표시할 수 있다.

• 코드와의 실시간 대화. 주피터 노트북 코드는 고정되어 있지 않다. 브라우저에서 직접 제공되는 피드백을 반영해 실시간으로 조금씩 편집하여 다시 실행할 수 있다. 코드 입력 소스로 활용 가능한 사용자 제어장치(예: 슬라이더 또는 텍스트 입력 필드)에 노트북을 내장할 수도 있다.

• 코드 샘플 기록. 실시간 피드백을 주고받으면서 작동 방식을 라인별로 설명하고 싶은 코드가 있다면 주피터 노트북에 내장할 수 있다. 가장 큰 장점은 코드가 계속 정상 작동한다는 점이다. 설명과 함께 대화 기능을 추가할 수 있다. 보여주면서 말하기가 가능해진다.

[출처:https://www.ciokorea.com/tags/11396/R/118326]

단점

  1. 노트북이 자립적이지 않다. 주피터 노트북 사용에 가장 큰 한 가지 단점이 이것이다. 노트북은 사용하고자 하는 모든 라이브러리와 더불어 주피터 런타임을 요구한다. 자립적 주피터 노트북을 만들기 위한 몇 가지 전략이 존재하지만, 그 중에 공식적으로 지원되는 것은 없다. 노트북을 실행할 수 있는 인프라를 이미 구비하고 있거나 설정에 신경 쓰지 않는 사람에게 노트북을 (예를 들면 아나콘다(Anaconda)를 통해) 배포하는 편이 가장 낫다.

  2. 세션 상태를 쉽게 저장할 수 없다. 주피터 노트북에서 실행되는 모든 코드는 그 상태를 주피터 노트북의 기본 도구모음으로는 보존하고 복원할 수 없다. 노트북을 불러올 때마다 노트북에서 코드를 다시 실행해야만 그 상태를 복원시킬 수 있다.

  3. 대화형 디버깅 등 IDE 기능이 없다. 주피터 노트북은 본격적인 파이썬용 개발 환경이 아니다. IDE에 있어야 할 기능(예: 대화형 디버깅, 코드 완성, 모듈 관리) 중 많은 부분이 없다.


하지만 요즘 jupyter notebook을 사용하면서 장점이 너무 많다,,손쉽게 엑셀이나 다른 연결프로그램을 불러서 시각화하기 편하고, 코딩을 하면 그때그때 결과를 볼 수 있다.

Jupyter Notebook 단축키

If 아나콘다 혹은 미니콘다를 통해 jupyter notebook을 키려고한다면

conda activate 파일명```
cd Documents
cd 파일명
jupyther notebook

이렇게 쳐서 jupyter notebook으로 들어갈 수 있다.
이상으로 jupyter notebook에 대해서 알아보았다.!

profile
문과생 데이터사이언티스트되기 프로젝트

0개의 댓글