데이터 기반 웹 애플리케이션을 개발하고 싶지만 웹 개발이 부담스러우신가요? 이제 파이썬만 알고 있어도 손쉽게 웹 애플리케이션을 만들 수 있는 방법이 있습니다. 바로 Streamlit입니다. Streamlit은 머신러닝 엔지니어, 데이터 과학자, 그리고 파이썬 개발자들이 별도의 프론트엔드 개발 없이 데이터 애플리케이션을 만들 수 있도록 도와주는 강력한 오픈소스 프레임워크입니다.
이 글에서는 Streamlit의 기본 개념부터 설치 방법, 주요 기능, 그리고 간단한 앱을 만드는 방법까지 차근차근 살펴보겠습니다. 한 단계씩 따라 하면서 여러분도 직접 웹 애플리케이션을 만들어 보세요!
1. Streamlit이란?
Streamlit은 데이터 시각화, 머신러닝 모델 배포, 대시보드 제작 등 다양한 용도로 활용할 수 있는 오픈소스 프레임워크입니다. 주요 특징을 살펴보면:
- 파이썬 코드만으로 웹 애플리케이션 제작 가능
- 빠른 개발 속도 (코드 수정 시 실시간 반영)
- 쉬운 데이터 시각화 (Pandas, Matplotlib, Plotly 등과 연동)
- 강력한 인터랙티브 기능 (슬라이더, 버튼, 셀렉트 박스 등 위젯 지원)
Streamlit을 사용하면 몇 줄의 코드만으로 강력한 데이터 애플리케이션을 만들 수 있습니다. 이제 직접 설치하고 사용법을 익혀보겠습니다.
2. Streamlit 설치
Streamlit을 사용하려면 먼저 설치가 필요합니다. 운영체제에 따라 설치 방법을 살펴보겠습니다.
1) Windows에서 설치하기
- 파이썬이 설치되어 있는지 확인Python 3.6 이상이 필요합니다. 최신 버전이 아니라면 공식 웹사이트에서 업데이트하세요.
- python --version
- Streamlit 설치
- pip install streamlit
- 설치 확인실행 후 웹 브라우저가 열리면 정상적으로 설치된 것입니다.
- streamlit hello
2) MacOS & Linux에서 설치하기
MacOS와 Linux에서도 같은 방식으로 설치하면 됩니다.
pip install streamlit
streamlit hello
3) 가상 환경에서 설치하기 (권장)
프로젝트마다 독립적인 환경을 유지하려면 가상 환경을 사용하는 것이 좋습니다.
python -m venv myenv
source myenv/bin/activate # MacOS/Linux
myenv\Scripts\activate # Windows
pip install streamlit
4) 도커(Docker) & GitHub Codespaces 활용
별도의 설치 없이 바로 Streamlit 앱을 실행하려면 도커나 GitHub Codespaces를 활용하는 것도 좋은 방법입니다.
3. Streamlit 기본 사용법
1) Streamlit 앱 실행하기
Streamlit 앱을 만들기 위해 새로운 Python 파일을 생성하고 실행하면 됩니다.
import streamlit as st
st.write("Hello, Streamlit!")
이제 다음 명령어를 실행해 보세요.
streamlit run your_script.py
위 명령어를 실행하면 브라우저에서 웹 애플리케이션이 열립니다.
4. Streamlit의 주요 기능
1) 데이터 표시
st.write() 사용하기
import streamlit as st
st.write("Hello, world!")
데이터프레임 출력
import pandas as pd
import numpy as np
import streamlit as st
df = pd.DataFrame(
np.random.randn(10, 4),
columns=('col1', 'col2', 'col3', 'col4')
)
st.dataframe(df)
2) 차트 그리기
라인 차트
chart_data = pd.DataFrame(
np.random.randn(20, 3),
columns=['a', 'b', 'c']
)
st.line_chart(chart_data)
지도 표시
map_data = pd.DataFrame(
np.random.randn(1000, 2) / [50, 50] + [37.76, -122.4],
columns=['lat', 'lon']
)
st.map(map_data)
3) 사용자 인터랙션 (위젯)
슬라이더
x = st.slider('값을 선택하세요', 0, 100)
st.write('선택한 값:', x)
버튼
if st.button('클릭!'):
st.write('버튼이 눌렸습니다!')
체크박스
if st.checkbox('데이터프레임 표시'):
st.dataframe(df)
셀렉트 박스
option = st.selectbox('옵션을 선택하세요', ['옵션 1', '옵션 2', '옵션 3'])
st.write('선택한 옵션:', option)
4) 레이아웃 구성
사이드바 사용하기
option = st.sidebar.selectbox('사이드바 옵션 선택', ['A', 'B', 'C'])
st.sidebar.write('선택한 값:', option)
컬럼 나누기
col1, col2 = st.columns(2)
with col1:
st.header("왼쪽 컬럼")
st.image("https://via.placeholder.com/150")
with col2:
st.header("오른쪽 컬럼")
st.image("https://via.placeholder.com/150")
진행 상황 표시
import time
st.write("진행 상황 표시")
progress_bar = st.progress(0)
for i in range(100):
time.sleep(0.1)
progress_bar.progress(i + 1)
st.write("완료!")
마무리하며
지금까지 Streamlit의 기본 개념과 설치 방법, 그리고 주요 기능을 살펴보았습니다. Streamlit을 활용하면 데이터 시각화, 머신러닝 모델 배포, 대시보드 제작 등을 쉽고 빠르게 구현할 수 있습니다.
더 많은 기능을 활용하고 싶다면 Streamlit 공식 문서(https://docs.streamlit.io/) 를 참고하세요. 다음 단계에서는 실전 프로젝트를 만들어보겠습니다. Streamlit을 활용하여 멋진 웹 애플리케이션을 만들어 보세요!
'IT' 카테고리의 다른 글
혁신적인 AI 도구 3가지 – 당신의 업무 효율을 극대화하는 방법 (0) | 2025.02.25 |
---|---|
Ollama(올라마) 집중 분석 (0) | 2025.02.25 |
Streamlit 멀티페이지 앱 개발 가이드: 단계별 튜토리얼 (0) | 2025.02.25 |
Streamlit을 활용한 ChatGPT 스타일 챗봇 개발 가이드 (0) | 2025.02.25 |
클로드(Claude) API 사용법: 시작부터 실전까지 (0) | 2025.02.25 |