Skip to content

VSCode에서 Streamlit 사용하기: 2025년 기준 단계별 가이드

Updated on

Python 개발 워크플로를 한 단계 끌어올리고 싶나요?
Streamlit + VSCode 조합은 데이터 앱을 만드는 가장 빠른 방법 중 하나이며, 특히 엔지니어, 데이터 사이언티스트, 애널리스트, ML 실무자에게 잘 맞습니다.

이 2025년 업데이트 가이드는 다음을 다룹니다:

  • ✔ VSCode에서 Streamlit을 올바르게 설정하는 방법
  • ✔ 가상환경을 사용하는 모범 사례
  • ✔ VSCode 안에서 Streamlit 앱을 디버깅하는 방법
  • ✔ Stlite 확장으로 앱을 바로 미리 보는 방법
  • 2025년 기준 최신 호스팅 옵션으로 Streamlit 앱을 배포하는 방법
  • ✔ PyGWalker를 이용해 노코드 시각화 워크플로를 강화하는 방법

그럼 시작해 봅시다.


기본 개념: Streamlit + VSCode

Streamlit이란?

Streamlit은 HTML, CSS, JavaScript를 몰라도 인터랙티브 웹 앱을 만들 수 있게 해주는 오픈소스 Python 프레임워크입니다.
Python 스크립트를 몇 분 안에 공유 가능한 데이터 앱으로 변환해 줍니다.

주요 장점:

  • 프론트엔드 지식이 전혀 필요 없음
  • 실시간 핫 리로드
  • 슬라이더, 셀렉트, 파일 업로드, 차트 등 위젯을 쉽게 사용
  • 데이터 탐색, 대시보드, ML 데모에 매우 친화적

2025년 기준으로, Streamlit은 많은 데이터 사이언스 팀에게 기본 도구가 되었으며, 즉흥적인 대시보드, Jupyter 위젯, 내부 BI 프로토타입을 대체하고 있습니다.


왜 VSCode에서 Streamlit을 쓸까?

VSCode는 Streamlit 사용 경험을 크게 향상시켜 줍니다.

1. 🔥 빠른 개발 사이클

코드 작성 → 저장 → 앱이 즉시 자동 새로고침.

2. 🧩 풍부한 에코시스템

Python 확장, Git 연동, Copilot/Cursor 스타일 AI 도구, 포매팅, 린팅 등.

3. 🐞 강력한 디버깅

VSCode에서 브레이크포인트, 변수 검사, step 실행 등 Streamlit 로직을 단계별로 추적할 수 있습니다.

4. 🚀 현대적인 개발 도구와의 매끄러운 연동

가상환경, Conda, uv, Docker, 원격 SSH, dev container 등과 잘 호환됩니다.


알아두어야 할 제한 사항

Streamlit은 강력하지만 다음과 같은 제약이 있습니다:

  • 복잡한 커스텀 프론트엔드나 다중 페이지, 로직이 많은 앱에는 적합하지 않음
  • 기본적으로 stateless라 복잡한 상태 관리는 까다로울 수 있음
  • FastAPI + React, Django 같은 풀스택 웹 프레임워크보다 UI 유연성이 떨어짐

하지만 내부 대시보드와 ML 도구의 90% 정도에는 충분히 적합합니다.


VSCode에서 Streamlit 사용하기 (2025년 단계별 가이드)

아래는 최신 권장 워크플로입니다.


Step 1 — 가상환경 생성 (모범 사례)

Streamlit을 전역에 설치하는 대신, 다음과 같이 진행하세요:

python3 -m venv .venv
source .venv/bin/activate      # macOS / Linux
.venv\Scripts\activate         # Windows

또는 uv를 사용한다면 (매우 빠름):

uv venv
source .venv/bin/activate

Step 2 — Streamlit 설치

pip install streamlit

Step 3 — VSCode에서 Python 파일 만들기

example.py 라는 파일을 만듭니다:

import streamlit as st
 
st.title("My First Streamlit App")
st.write("Hello, VSCode + Streamlit!")

Step 4 — VSCode 터미널에서 Streamlit 실행

터미널 열기:

  • Windows / Linux: Ctrl + Shift + `
  • macOS: Cmd + J

그다음 실행:

streamlit run example.py

브라우저가 자동으로 다음 주소로 열립니다:

http://localhost:8501 (opens in a new tab)


보너스: VSCode에서 Streamlit 앱 디버깅하기

.vscode/launch.json 파일을 추가합니다:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug Streamlit App",
      "type": "python",
      "request": "launch",
      "module": "streamlit",
      "args": ["run", "example.py"],
      "console": "integratedTerminal"
    }
  ]
}

이제 브레이크포인트, step 실행, 변수 패널을 이용해 디버깅할 수 있습니다.


PyGWalker로 Streamlit 시각화 앱 만들기 (업데이트)

PyGWalker (opens in a new tab)는 거의 코드 없이 Streamlit에 Tableau 같은 UI를 추가합니다.

다음과 같은 용도에 적합합니다:

  • 데이터 탐색
  • 대시보드 프로토타입
  • 분석 결과 공유

최소 예제:

import streamlit as st
import pygwalker as pyg
import pandas as pd
 
df = pd.read_csv("your-data.csv")
pyg.walk(df, env="streamlit")

라이브 데모 → https://pygwalkerapp-d0iztqkzcmr.streamlit.app/ (opens in a new tab)

Sven (CodingIsFun)의 비디오 튜토리얼:


VSCode 확장: Stlite (업데이트 정보)

Stlite extension은 다음 기능을 제공합니다:

  • Streamlit 코드에 특화된 문법 하이라이팅
  • 자주 쓰는 Streamlit 함수 스니펫
  • VSCode 내장 미리보기 패널
  • 간단한 테스트를 할 때 브라우저를 따로 열 필요 없음

사용 방법:

  1. Command Palette를 열고 → Launch stlite preview 실행
  2. .py 파일 선택
  3. VSCode 에디터 패널에 미리보기 표시

한계점

  • WebAssembly 기반 Streamlit 버전을 사용함
  • 일부 컴포넌트는 실제 Python 백엔드와 동작이 다를 수 있음
  • WASM 리소스를 위해 네트워크 연결이 필요 (오프라인 모드는 제한적)

그래도 빠른 프로토타이핑에는 훌륭한 도구입니다.


배포: Streamlit 앱 배포 방법

예전의 “Streamlit Sharing”은 종료되었습니다.

현재 기준 주요 배포 옵션:

Streamlit Community Cloud (입문자에게 추천)

무료, 빠르고, 설정이 매우 간단합니다.

Railway.app

원클릭 배포와 자동 빌드를 지원합니다.

Render.com

무료 티어 + 자동 스케일링.

HuggingFace Spaces

ML 데모에 특히 적합합니다.

AWS / GCP / Azure

Docker + 로드 밸런싱을 활용하면 프로덕션 환경에 적합합니다.

튜토리얼:
/topics/Streamlit/deploy-streamlit-app


자주 묻는 질문 (FAQ)

1. VSCode에서 실행 중인 Streamlit을 어떻게 중지하나요?
VSCode 터미널의 Stop 버튼을 누르거나 Ctrl+C를 입력하면 됩니다.

2. 앱은 어떻게 여나요?
브라우저에서 http://localhost:8501 주소로 접속하면 됩니다.

3. Google Colab에서도 Streamlit을 사용할 수 있나요?
가능합니다. Streamlit을 설치한 뒤 pyngrok를 이용해 로컬 서버를 터널링하면 됩니다.

4. 왜 가상환경을 써야 하나요?
의존성을 프로젝트별로 분리해 버전 충돌을 방지할 수 있기 때문입니다.

5. Streamlit의 대표적인 한계는 무엇인가요?
UI 커스터마이즈에 제한이 있고, stateless 설계로 인해 복잡한 상태 관리가 어렵고, 대규모 프론트엔드 앱에는 적합하지 않습니다.

6. Streamlit은 주로 어디에 쓰이나요?
ML 데모, 대시보드, 내부 도구, 데이터 탐색, 빠른 인터랙티브 앱 제작에 사용됩니다.


마무리

Streamlit + VSCode는 2025년에 데이터 애플리케이션을 만드는 가장 빠른 조합 중 하나입니다.
데이터를 탐색하든, 대시보드를 만들든, 내부용 도구를 배포하든, 이 워크플로는 다음과 같은 장점을 줍니다:

  • 빠른 반복 개발
  • 깔끔한 개발 환경 관리
  • 강력한 디버깅
  • 최신 배포 옵션과의 연동

여기에 PyGWalker, Stlite, 그리고 계속 발전하는 VSCode의 AI 에코시스템을 더하면, 완전한 데이터 프로덕트 개발 환경을 갖추게 됩니다.