📌 1. Streamlit이란?
Streamlit은 Python 기반의 데이터 애플리케이션을 빠르게 개발할 수 있는 오픈소스 웹 프레임워크입니다.
특히, 데이터 분석, 머신러닝, 대시보드 개발에 최적화되어 있어 간단한 코드만으로 강력한 웹 애플리케이션을 만들 수 있습니다.
✅ 주요 특징
✔ 손쉬운 설치 → pip install streamlit 만으로 설치 가능
✔ 빠른 프로토타이핑 → 데이터 분석 결과를 바로 웹에서 시각화
✔ 강력한 시각화 기능 → Matplotlib, Plotly, Altair 등 다양한 라이브러리 지원
✔ 데이터 사이언티스트와 엔지니어 친화적 → 웹 개발 지식 없이도 간편한 대시보드 제작 가능
🔥 2. Streamlit 기본 설치 방법
✅ (1) Anaconda 환경에서 설치 (추천)
Anaconda 환경에서는 가상환경을 생성한 후 Streamlit을 설치하는 것이 좋습니다.
① Anaconda에서 Python 3.10 환경 생성
conda create --name streamlit_env python=3.10
📌 환경 생성 후 활성화
conda activate streamlit_env
② Streamlit 설치
pip install streamlit
③ 설치 확인 및 실행 테스트
streamlit --version
streamlit hello
✅ 실행하면 Streamlit 샘플 앱이 웹 브라우저에서 열립니다.
🔥 3. 필수 라이브러리 설치
Streamlit을 사용할 때, 자주 사용하는 필수 라이브러리를 함께 설치하면 더욱 강력한 애플리케이션을 만들 수 있습니다.
✅ (1) 데이터 분석 라이브러리
pip install pandas numpy
📌 설명
✔ pandas → 데이터프레임 처리
✔ numpy → 수치 연산 (배열, 벡터 연산 등)
✅ (2) 데이터 시각화 라이브러리
pip install matplotlib plotly seaborn altair folium
📌 설명
✔ matplotlib → 기본 그래프 시각화
✔ plotly → 대화형 차트 (마우스 오버 효과 지원)
✔ seaborn → 통계 기반 데이터 시각화
✔ altair → Streamlit과 가장 잘 맞는 차트 라이브러리
✔ folium → 지도 시각화 (위도/경도 활용)
✅ (3) 머신러닝 & 딥러닝 라이브러리
pip install scikit-learn xgboost lightgbm catboost tensorflow torch torchvision torchaudio transformers
📌 설명
✔ scikit-learn → 머신러닝 알고리즘
✔ xgboost, lightgbm, catboost → 부스팅 알고리즘 (분류 & 회귀 모델)
✔ tensorflow → 딥러닝 프레임워크
✔ torch, torchvision, torchaudio → PyTorch 프레임워크
✔ transformers → NLP (자연어 처리) 모델 활용 가능
✅ (4) Streamlit UI & 확장 플러그인
pip install streamlit-folium streamlit-option-menu streamlit-extras streamlit-antd-components
📌 설명
✔ streamlit-folium → 지도 시각화
✔ streamlit-option-menu → 사이드바 UI 개선
✔ streamlit-extras → 추가 기능 (파일 업로드, 토글 버튼 등)
✔ streamlit-antd-components → 고급 UI 디자인 컴포넌트
✅ (5) 데이터베이스 연결 (MySQL, PostgreSQL 등)
pip install pymysql psycopg2 sqlalchemy
📌 설명
✔ pymysql → MySQL 연결
✔ psycopg2 → PostgreSQL 연결
✔ sqlalchemy → ORM 사용 가능
📌 SQLite는 Python 기본 내장 모듈이므로, 추가 설치할 필요 없음!
SQLite 버전 확인:
python -c "import sqlite3; print(sqlite3.sqlite_version)"
SQLite 정상 작동 테스트:
python -c "import sqlite3; conn = sqlite3.connect(':memory:'); print('SQLite is working!'); conn.close()"
✅ (6) API 요청 & 웹 스크래핑
pip install requests beautifulsoup4 selenium fastapi
📌 설명
✔ requests → API 호출 (GET/POST 요청)
✔ beautifulsoup4 → 웹 스크래핑 (HTML 파싱)
✔ selenium → 브라우저 자동화 (웹 크롤링)
✔ fastapi → Python 기반 초고속 API 서버 구축
✅ (7) 이미지 & 파일 처리
pip install pillow opencv-python pdfplumber PyMuPDF
📌 설명
✔ pillow → 이미지 처리
✔ opencv-python → 영상 및 이미지 처리
✔ pdfplumber, PyMuPDF → PDF 파일 처리
✅ (8) Streamlit 앱 최적화 (캐싱 & 성능 향상)
pip install streamlit-caching fastparquet pyarrow
📌 설명
✔ streamlit-caching → 데이터 캐싱 (앱 실행 속도 향상)
✔ fastparquet, pyarrow → 빠른 데이터 저장 & 로드
🚀 4. 전체 패키지 한 번에 설치
위에서 설명한 필수 + 추천 라이브러리를 한 번에 설치하려면 다음 명령어를 실행하세요.
pip install streamlit pandas numpy matplotlib plotly seaborn altair folium scikit-learn xgboost lightgbm catboost tensorflow torch torchvision torchaudio transformers streamlit-folium streamlit-option-menu streamlit-extras streamlit-antd-components pymysql psycopg2 sqlalchemy requests beautifulsoup4 selenium fastapi pillow opencv-python pdfplumber PyMuPDF streamlit-caching fastparquet pyarrow
✅ 5. 설치 후 실행 테스트
설치가 정상적으로 되었는지 확인하려면 아래 명령어를 실행하세요.
streamlit run app.py
또는 기본 예제 실행
streamlit hello
✅ 브라우저에서 Streamlit 기본 예제가 실행되면 정상적으로 설치된 것입니다! 🎉
🎯 6. 설치 오류 해결 방법
① zsh: command not found: brew (Homebrew 미설치)
/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc
② zsh: command not found: pyenv (pyenv 미설치)
brew install pyenv
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
source ~/.zshrc
③ CondaEnvironmentError: Cannot remove current environment (Conda 가상환경 삭제 오류)
conda deactivate
conda remove --name streamlit_env --all
🎯 7. 마무리
이번 블로그에서는 Streamlit 설치와 필수 라이브러리, 그리고 데이터 분석, 머신러닝, API, 웹 스크래핑 등에 필요한 패키지를 정리했습니다.
'Streamlit > 이론' 카테고리의 다른 글
161. [AI] [Fine-Tuning] : Object Detection을 활용한 도로 이미지 분석 (1) | 2025.02.28 |
---|---|
147. [Python] [Streamlit] : Streamlit에서 한글 폰트 설정하기 (Mac, Windows, Linux) (0) | 2025.02.04 |
145. [Python] [Streamlit] : Streamlit(스트림릿) 차트 그리기(2) (0) | 2025.02.04 |
144. [Python] [Streamlit] : Streamlit(스트림릿) 차트 그리기(1) (0) | 2025.02.04 |
143. [Python] [Streamlit] : Streamlit(스트림릿) sidebar 메뉴 만들기 (0) | 2025.02.03 |