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

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

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

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

2025. 6. 13  최초작성

다음 포스트대로 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 버튼을 눌러 이미지를 업로드해봅니다.

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