Streamlit을 간단히 사용해보기

Streamlit을 간단히 사용해보기

Streamlit을 사용하여 웹페이지를 간단히 만들어보는 예제입니다.

Streamlit은 Python 코드를 작성하면 웹 애플리케이션을 빠르고 쉽게 만들 수 있는 오픈소스 프레임워크입니다.

HTML, CSS, JavaScript에 대한 지식이 없어도 인터랙티브한 웹 앱을 만들 수 있습니다.

간단한 데모 웹페이지를 빠르게 만들어 보여줄 필요가 있을때 사용하면 좋을 것 같습니다.

2025. 6. 13  최초작성

2025. 6. 25  보다 상세한 내용이 추가된  글이 추가되었습니다.

Streamlit 공식 문서 중 기본 개념 부분(Basic concepts)을 기반으로 정리했습니다. 이후 나머지 부분도 정리할 예정입니다.

Streamlit의 기본 개념과 예제

https://webnautes.kr/streamlityi-gibon-gaenyeomgwa-yeje/ 

다음 포스트대로 Visual Studio Code와 Miniconda를 사용하여 Python 개발환경을 구축하여 사용했습니다.

Visual Studio Code와 Miniconda를 사용한 Python 개발 환경 만들기( Windows, Ubuntu, WSL2)

https://webnautes.kr/visual-studio-codewa-minicondareul-sayonghan-python-gaebal-hwangyeong-mandeulgi-windows-ubuntu-wsl2/

이제 Python 가상환경을 생성하고 활성화합니다.

conda create -n streamlit python=3.13

Python 가상환경을 활성화합니다.

conda activate streamlit

필요한 패키지를 설치합니다.

pip install streamlit pillow

다음 코드를 image_upload.py 이름으로 저장합니다.

import streamlit as st
from PIL import Image


# 웹페이지 제목을 큰 폰트 크기로 출력해줍니다.
st.title("이미지 업로드 및 표시")

# 파일 업로더를 생성합니다.
uploaded_file = st.file_uploader(
    "이미지를 선택하세요",
    type=['png', 'jpg', 'jpeg', 'gif', 'bmp']
)

# 파일이 업로드되었을 때
if uploaded_file is not None:


    # 이미지를 열어서
    image = Image.open(uploaded_file)
   
    # 이미지를 화면에 표시합니다.
    st.image(image, caption='업로드된 이미지', use_container_width=True)
   
    # 파일명을 표시합니다.
    st.write(f"**파일명:** {uploaded_file.name}")
   
    # 추가 정보를 표시합니다.
    st.write(f"**파일 크기:** {uploaded_file.size} bytes")
    st.write(f"**이미지 크기:** {image.size[0]} x {image.size[1]} pixels")

웹브라우저에서 streamlit가 생성한 웹페이지를 접속하도록 해봅니다.

streamlit run image_upload.py

다음 화면이 보이면 엔터를 누릅니다.

잠시후 웹브라우저에 다음 화면이 보이게 됩니다.

Browse files 버튼을 눌러 이미지를 업로드해봅니다.

다음처럼 업로드한 이미지를 보여주고 관련 정보를 같이 보여줍니다.

Subscribe to 멈춤보단 천천히라도

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe