Skip to content

주피터 환경에서 Streamlit 앱을 실행할 수 있을까요? 알아봅시다:

Updated on

데이터 과학의 끊임없이 진화하는 환경에서, 두 가지 도구가 복잡한 데이터를 인터랙티브하고 사용자 친화적인 애플리케이션으로 변환할 수 있는 혁신적인 도구로 등장했습니다. Streamlit과 Jupyter는 각각 고유한 강점을 가진 별도의 도구지만, 워크플로우에서 함께 사용하여 인터랙티브한 데이터 애플리케이션을 개발하고 배포할 수 있습니다.

Streamlit은 인터랙티브한 데이터 애플리케이션을 만들기 위한 강력한 도구이며, Jupyter는 인터랙티브 컴퓨팅을 위한 다재다능한 환경입니다. 일반적으로 Streamlit 앱은 Jupyter 내에서 직접 실행되지 않습니다. 대신, Streamlit이 설치된 명령 줄에서 Python 스크립트로 작성되고 실행됩니다. 이 안내서에서는 이러한 도구들의 깊이를 탐구하며, 그들의 고유한 기능, 워크플로우에서 어떻게 함께 사용할 수 있는지, Jupyter 노트북을 사용하여 Streamlit 앱을 개발하고 배포하는 방법에 대해 알아보겠습니다.

Streamlit 앱을 Tableau와 같은 훌륭한 데이터 분석 및 데이터 시각화 도구로 변환해주는 것을 들어보셨나요?

PyGWalker (opens in a new tab)는 Streamlit 앱에 Tableau와 같은 UI를 간편하게 포함시킬 수 있는 Python 라이브러리입니다.

Streamlit에서 데이터 시각화를 위한 PyGWalker (opens in a new tab)

Streamlit과 Jupyter의 소개

Streamlit은 무엇인가요?

Streamlit은 몇 줄의 코드로 아름답고 인터랙티브한 웹 애플리케이션을 만들 수 있는 오픈소스 Python 라이브러리입니다. 데이터 탐색, 모델 학습 및 머신러닝 워크플로우를 손쉽게 처리할 수 있도록 설계되었습니다. Streamlit의 간결함과 효율성은 데이터 전문가들 사이에서 인기를 끌고 있습니다.

Jupyter는 무엇인가요?

Jupyter는 인터랙티브 컴퓨팅을 위한 다재다능한 환경입니다. 클래식한 Jupyter Notebook의 익숙한 구성요소들(노트북, 터미널, 텍스트 편집기, 파일 브라우저, 풍부한 출력 등)을 유연하고 강력한 사용자 인터페이스로 제공합니다. Jupyter는 Jupyter 노트북, 텍스트 편집기, 터미널, 사용자 정의 컴포넌트 등과 같은 문서 및 활동과 함께 작업할 수 있도록 유연하고 통합적으로 확장 가능하게 해줍니다.

Jupyter 노트북에서 Streamlit 앱 개발하기

Streamlit과 Jupyter는 별개의 도구이지만, 워크플로우에서 함께 사용할 수 있습니다. streamlit-jupyter (opens in a new tab) 패키지를 사용하여 Jupyter 노트북 내에서 Streamlit 앱을 개발하고 미리보기할 수 있습니다. 이 패키지를 사용하면 개발 및 시각화 목적으로 노트북 내에서 Streamlit 위젯 및 컴포넌트를 사용할 수 있습니다.

Streamlit-Jupyter 패키지

Streamlit-Jupyter 패키지 (opens in a new tab)는 간단한 Python 패키지로, Jupyter 노트북 내에서 Streamlit 앱을 미리보고 개발할 수 있도록 해줍니다. 이 패키지는 Streamlit 메소드에 대한 Jupyter 호환 래퍼를 제공하여 노트북 내에서 Streamlit의 인터랙티브 위젯 및 컴포넌트를 사용할 수 있도록 합니다.

문제없이 계속해봅시다.

Streamlit-Jupyter 패키지

Streamlit-Jupyter 패키지 (opens in a new tab)는 간단한 Python 패키지로, Jupyter 노트북 내에서 Streamlit 앱을 미리보고 개발할 수 있도록 해줍니다. 이 패키지는 Streamlit 메소드에 대한 Jupyter 호환 래퍼를 제공하여 노트북 내에서 Streamlit의 인터랙티브 위젯 및 컴포넌트를 사용할 수 있도록 합니다.

이 패키지를 사용하려면, Streamlit을 가져와서 Streamlit-Jupyter과 함께 사용하기 위해 패치(patch)해야 합니다:

import streamlit as st
from streamlit_jupyter import streamlit_patcher
streamlit_patcher.jupyter()

이제 일반적인 방법으로 노트북을 개발할 수 있지만, Streamlit의 인터랙티브 기능을 추가로 사용할 수 있습니다. 이는 노트북을 Streamlit 앱으로 변환하기 전에 다양한 시각화 및 컴포넌트를 실험해 볼 때 특히 유용할 수 있습니다.

Jupyter 노트북을 Streamlit 앱으로 변환하기

Jupyter 노트북에서 Streamlit 앱을 개발하고 미리보았다면, 다음 단계는 노트북을 Streamlit에서 실행할 수 있는 Python 스크립트로 변환하는 것입니다. 이 작업은 Jupytext라는 도구를 사용하여 수행할 수 있습니다. 이 과정은 YouTube 비디오 (opens in a new tab)에서도 설명하고 있습니다.

Jupytext는 Jupyter 노트북을 스크립트를 포함한 다양한 형식으로 변환할 수 있는 Python 패키지입니다. 노트북을 함께 포함하는 모든 마크다운 셀과 코드 셀을 Python 스크립트로 변환하여 Streamlit 앱으로 실행할 수 있습니다.

다음은 Jupytext를 사용하여 노트북을 Python 스크립트로 변환하는 간단한 예시입니다:

jupytext --to py your_notebook.ipynb

이 명령은 노트북 your_notebook.ipynb에서 Python 스크립트인 your_notebook.py를 생성합니다. 그런 다음 streamlit run 명령을 사용하여 이 스크립트를 Streamlit 앱으로 실행할 수 있습니다:

streamlit run your_notebook.py

Streamlit 앱 실행하기

Streamlit 앱은 일반적으로 Streamlit이 설치된 명령 줄에서 실행됩니다. 해당 앱의 Python 스크립트가 있는 디렉토리로 이동한 다음 streamlit run 명령을 사용하여 앱을 실행할 수 있습니다:

streamlit run your_script.py

이 명령은 Streamlit 서버를 시작하고 기본 웹 브라우저를 앱의 URL(일반적으로 http://localhost:8501)로 엽니다.

결론

스트림릿과 주피터랩은 데이터 과학 무기 안에서 강력한 도구입니다. 각각 고유한 장점이 있지만, 상호 연동하여 대화형 데이터 애플리케이션을 개발하는 워크플로우에서도 함께 사용할 수 있습니다. Streamlit-Jupyter 패키지를 통해 주피터 노트북 내에서 Streamlit 앱을 개발하고 미리 보기할 수 있으며, Jupytext를 사용하여 노트북을 스트림릿 앱으로 실행될 수 있는 파이썬 스크립트로 변환할 수도 있습니다.

데이터를 탐색하거나 머신러닝 모델을 구축하거나 대화형 대시보드를 만드는 경우, 스트림릿과 주피터랩은 데이터를 대화형 애플리케이션으로 변환하는 유연하고 효율적인 방법을 제공합니다.

이란 첨단 데이터 분석 및 데이터 시각화 도구를 들어보셨나요? 이 도구를 사용하면 스트림릿 앱을 Tableau로 변환할 수 있습니다.

PyGWalker (opens in a new tab)는 자체 스트림릿 앱에 테이블과 유사한 UI를 손쉽게 임베드하는 데 도움을 주는 파이썬 라이브러리입니다.

PyGWalker를 사용한 스트림릿 데이터 시각화 (opens in a new tab)

자주 묻는 질문

스트림릿은 주피터 노트북과 호환됩니까?

스트림릿과 주피터는 별개의 도구이지만, 워크플로우 내에서 함께 사용할 수 있습니다. streamlit-jupyter 패키지를 사용하여 주피터 노트북 내에서 스트림릿 앱을 개발하고 미리 보기할 수 있습니다.

주피터 노트북을 스트림릿에서 어떻게 배포할 수 있을까요?

Jupytext와 같은 도구를 사용하여 주피터 노트북을 파이썬 스크립트로 변환한 다음, streamlit run 명령을 사용하여 이 스크립트를 스트림릿 앱으로 실행할 수 있습니다.

주피터와 주피터허브의 차이점은 무엇인가요?

주피터는 대화형 컴퓨팅을 위한 다용도 환경이며, 주피터허브는 여러 사용자가 주피터 노트북을 사용하고 협업하며 리소스를 공유할 수 있는 다중 사용자 버전입니다.

주피터허브와 유사한 도구는 무엇이 있나요?

주피터허브와 유사한 여러 도구가 있습니다. RStudio Server, Apache Zeppelin, Databricks 등이 그 예입니다.

스트림릿과 주피터 노트북의 차이점은 무엇인가요?

스트림릿은 대화형 데이터 애플리케이션을 만드는 도구이며, 주피터 노트북은 대화형 컴퓨팅과 데이터 탐색을 위한 환경입니다. 스트림릿 앱은 일반적으로 파이썬 스크립트로 작성되어 명령줄에서 실행되며, 주피터 노트북은 웹 기반으로 작동하며 대화형 코딩과 데이터 시각화에 사용됩니다.

주피터랩에서 스트림릿을 실행하는 방법은 무엇인가요?

스트림릿 앱을 주피터 노트북 내에서 개발하고 미리 보기할 수 있지만, 스트림릿 앱은 일반적으로 주피터랩 내에서 직접 실행되는 것이 아니라 스트림릿이 설치된 명령줄에서 실행됩니다.