Jupyter: 일반 파이썬(Python)을 넘어서
파이썬 개발 환경에는 다양한 선택지가 있는데요. 저에게 어떤 환경을 쓰는지 묻는 분들이 많습니다. 제 답을 들으시면 놀랄지도 모르겠네요. 제가 가장 선호하는 환경은 IPython 셸과 텍스트 에디터(그날 기분에 따라 Emacs나 VSCode를 번갈아 씁니다)이기 때문입니다. Jupyter 프로젝트는 2001년 페르난도 페레즈(Fernando Perez)가 한층 더 강력한 파이썬 인터프리터를 목표로 만든 IPython 셸에서 시작되었습니다. 이후 페레즈의 표현처럼 ’연구 컴퓨팅의 전 과정을 아우르는 도구’를 제공하고자 하는 거대한 프로젝트로 성장했죠. 파이썬이 데이터 과학 작업의 핵심 엔진이라면, Jupyter는 이를 매끄럽게 제어하는 대화형 제어판이라고 합니다.
Jupyter는 파이썬을 위한 편리한 대화형 인터페이스일 뿐만 아니라 여러 유용한 구문 기능들도 추가로 제공합니다. 여기서는 그중에서도 특히 실무에 유용한 기능들을 골라 살펴보겠습니다. Jupyter 프로젝트에서 가장 인기 있는 인터페이스는 단연 Jupyter Notebook입니다. 데이터 과학 프로젝트를 개발하고 동료와 협업하며 결과를 공유하기에 최적화된 브라우저 기반 환경이죠. 노트북 포맷의 유용성을 직접 확인해보고 싶다면 지금 읽고 계신 이 페이지만 훑어보셔도 충분합니다. 이 책의 전체 원고 자체가 여러 개의 Jupyter Notebook으로 작성되었습니다.
이번 파트에서는 먼저 데이터 과학 실무에 유용한 Jupyter와 IPython의 핵심 기능들을 단계별로 살펴보겠습니다. 특히 파이썬의 표준 기능 그 이상을 보여주는 유연한 구문들에 집중할 거예요. 다음으로는 코드 작성과 분석 속도를 획기적으로 높여주는 매직 명령어(magic commands)를 깊이 있게 파고들어 봅니다. 마지막으로 데이터의 흐름을 빠르게 파악하고 분석 결과를 세련되게 공유할 수 있도록 돕는 노트북의 다양한 부가 기능들을 둘러보겠습니다.